BIZARRERIES AVEC LA FONCTION EQUIV()

Bonjour,

La fonction en question doit elle répondre à un ordre d'écriture ou se
suffit-elle à elle même ?

J'ai un tableau carré (matrice) ou les entrées de ligne se retrouvent en
colonnes et donc une diagonale qui peut paraître inutile.
Cette diagonale me servait à faire des tris horizontaux via EQUIV

Le tableau se remplit en allant chercher des résultats qui sont affichés
dans un autre tableau en colonnes (source) . Si n est le nombre de lignes de
mon 1er tableau (Appelons le A), j'ai n-1 colonnes dans mon tableau source
(S).
chaque case du tableau A correspond à une valeur du tableau S
A la fin du tableau A, j'ai une colonne totalisation qui me permet de voir
qui a été le plus performant.
Un tri sur cette colonne permet de classer mes entrées .
Pour que la matrice retrouve son aspect initial, je faisais un tri
horizontal sur la ligne au dessus du tableau où la fonctions EQUIV() me
donnait la position de la case correspondant à la valeur en entrée:

Un tri croissant sur les valeurs retournées par équiv permet de rendre alors
le tableau intelligible.

Toutes les valeurs du tableau sont numériques
la zone de test d'équiv est une zone de texte.

les données du tableau A sont toutes des liens vers S.

Cela fonctionne bien.

Par contre, si on rentre les formules après avoir défini Equiv, la valeur
retournée par equiv se met à changer sans raison.

http://nabble.documentfoundation.org/file/n3494235/questfor1.jpg

http://nabble.documentfoundation.org/file/n3494235/avecform.jpg
http://nabble.documentfoundation.org/file/n3494235/questfor3.jpg
http://nabble.documentfoundation.org/file/n3494235/Sans_titre.jpg

Comme on le voit sur l'image"sanstitre.jpg"(celle du bas), quand je mets une
formule immédiatement sous le carré noir, la valeur retournée passe de 1 à
10 sans raison alors que la formule au dessus de la grille ne porte pas sur
la case concernée.
La formule est =equiv("XX"; matrice) où matrice est la liste des 10 cases de
la grille sous la formule.

Curieux, non ??

Bonsoir,

Est il possible d'avoir un fichier exemple pour débogage?

Jacques

Bonjour

CHAILLET Jacques wrote:

Est il possible d'avoir un fichier exemple pour débogage?

Je renchéris...

Il me parait impossible de répondre à ce type de problème au vu de copies
d'écran.

Cordialement
Pierre-Yves

Le temps de re-confectionner un document ods neutre et une note
explicative de l'environnement, peut être pourriez vous me donner un
mail privé où je vous enverrai 'l"original"?
je me propose de poster le tout au plus tard ce lundi.

Cordialement

BS

Bonjour,

J'ai essayé d'être le plus précis possible et donc je joins plusieurs
documents:
deux fichiers odt dont l'un expose le souci et le second explique
comment il faut comprendre l'utilité des fichiers.
trois fichiers ods: un exemple du module "clubs", et deux fichiers de
nature identique, l'un étant une évolution de l'autre. Le fichier qui
"marche" est questforum2 alors que celui qui coince se nomme questforum.

On n'est pas obligé de tout lire mais c'est vrai que cela aide à la
compréhension du problème et aussi au pourquoi de la conception des
outils proposés.
Ces outils peuvent être repris, adaptés et utilisés à la simple
condition de me dire ensuite ce que l'on en a fait (si cela peut aider).
Toutes les idées d'amélioration sont les bienvenues.

pour le fichier "saison...", j'ai un mode opératoire mais il ne peut
concerner que ceux qui en ont l'utilité.

BS

Un grand merci à Jacques pour l'aide off apportée.
En résumé le problème a été résolu de la manière suivante:
ajouter à la formule utilisée le paramètre optionnel réclamant la
correspondance exacte: en l'occurence, il fallait ajouter "point-virgule
zéro".

Soit!

Pour moi, cette solution efficace ne revêt pas de caractère pédagogique.
En effet, si on se réfère à la page 122 du guide des fonctions, on voit que
l'on a 3 options (même 4 si on considère que le fait de ne rien mettre est
une option)

*Quelle était la question posée par la formule ?*

/Va chercher dans la matrice (1 ligne n colonnes ou n lignes et 1 colonne)
une valeur définie dans mon premier argument et indique moi la position
ordinale de la cellule dans la matrice considérée./

Je pense qu'il n'y devait y avoir aucun souci dans la mesure où le contenu
des cellules était une formule renvoyant un nombre décimal positif ou nul,
sauf pour une d'entr'elles qui contenait une chaîne de caractère ("XX").

Or, la valeur définie dans le premier argument de la formule est un texte
("XX"), justement ce que je cherche.

D'un coté (cellule) on a soit du caractère soit du nombre.
De l'autre (formule), on cherche un texte.

Tout le monde doit être d'accord qu'il ne s'agit pas de la même chose.

*Pourquoi diable me contraint on à faire une recherche "exacte" alors que
les contenus ne sont pas de même nature?*

Le guide ne dit pas du tout cela.

J'estime qu'il y a un "bug explicatif".
Quand je lis le guide, je comprends que le zéro n'est nécessaire que pour un
contrôle strict.

C'est d'ailleurs peut être la fonction qui a un problème:
pourquoi a-t-elle renvoyé une connerie comme réponse ?

En effet, elle a considéré qu'une valeur renvoyée par la fonction
correspondait à une chaîne de caractères.