Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

index+equiv

20 réponses
Avatar
Misange
Hello

un truc qui m'agace:
sous xl2002, j'écris la formule suivante (une seule ligne)
=INDEX(mat_nom; EQUIV(INDEX(detcom_mat;
EQUIV(2;detcom_numlignecom;0));mat_code;0))
qui fonctionne nickel

je passe sous 2007
ca fonctionne nickel toujours (vous me direz, encore heureux !)

je repasse sous 2002, contrainte et forcée (no comment)
ça ne fonctionne plus et renvoie #N/A
j'analyse l'erreur :
les plages sont définies comme il faut

si j'évalue moi-même à la main chaque bout de la formule c'est OK :
=INDEX(detcom_mat; EQUIV(1;detcom_numlignecom;0))
me renvoie 3006 comme attendu
et si je tape
=INDEX(mat_nom; EQUIV(3006;mat_code;0))
je récupère truc-machin comme j'attends

Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
m'écrit :
=INDEX(mat_nom; EQUIV("3006";mat_code;0))
et là, avec les guillemets autour du 3006 ben ça marche plus !

d'où sortent ces guillemets ? Et comment faire remarcher cette formule ?
C'est d'autant plus agaçant que des formules de ce genre le classeur en
est plein et que c'est la seule qui fait ça...
A tous hasard si ça peut vous aider, les données qui remplissent les
plages nommées sont importées à partir d'un fichier texte. J'ai essayé
de changer le format des données mais ça ne change rien.
Merci de vos lumières
Misange

10 réponses

1 2
Avatar
Misange
bonjour Misange,

à tout hazard, essaie un "Effacer Tout" de cette cellule avant de
retaper la formule,


Bonjour Mon ange
Hélas, même retapée de frais dans une nouvelle cellule ça refait pareil !
Misange

Avatar
isabelle
bonjour Misange,

à tout hazard, essaie un "Effacer Tout" de cette cellule avant de retaper la formule,

bon courage,
isabelle

Hello

un truc qui m'agace:
sous xl2002, j'écris la formule suivante (une seule ligne)
=INDEX(mat_nom; EQUIV(INDEX(detcom_mat;
EQUIV(2;detcom_numlignecom;0));mat_code;0))
qui fonctionne nickel

je passe sous 2007
ca fonctionne nickel toujours (vous me direz, encore heureux !)

je repasse sous 2002, contrainte et forcée (no comment)
ça ne fonctionne plus et renvoie #N/A
j'analyse l'erreur :
les plages sont définies comme il faut

si j'évalue moi-même à la main chaque bout de la formule c'est OK :
=INDEX(detcom_mat; EQUIV(1;detcom_numlignecom;0))
me renvoie 3006 comme attendu
et si je tape
=INDEX(mat_nom; EQUIV(3006;mat_code;0))
je récupère truc-machin comme j'attends

Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
=INDEX(mat_nom; EQUIV("3006";mat_code;0))
et là, avec les guillemets autour du 3006 ben ça marche plus !

d'où sortent ces guillemets ? Et comment faire remarcher cette formule ?
C'est d'autant plus agaçant que des formules de ce genre le classeur en
est plein et que c'est la seule qui fait ça...
A tous hasard si ça peut vous aider, les données qui remplissent les
plages nommées sont importées à partir d'un fichier texte. J'ai essayé
de changer le format des données mais ça ne change rien.
Merci de vos lumières
Misange


Avatar
isabelle
et si tu lui force la main avec un * 1
=INDEX(mat_nom; EQUIV(INDEX(detcom_mat; EQUIV(2;detcom_numlignecom;0))*1;mat_code;0))
est ce que c'est mieux ?

isabelle

bonjour Misange,

à tout hazard, essaie un "Effacer Tout" de cette cellule avant de
retaper la formule,


Bonjour Mon ange
Hélas, même retapée de frais dans une nouvelle cellule ça refait pareil !
Misange



Avatar
Misange
et si tu lui force la main avec un * 1
=INDEX(mat_nom; EQUIV(INDEX(detcom_mat;
EQUIV(2;detcom_numlignecom;0))*1;mat_code;0))
est ce que c'est mieux ?


non plus
Misange

Avatar
Misange
Impossible de trouver la cause de ce truc ! ce qui est dingue c'est que
j'ai utilisé ce fichier pendant 2 mois sans aucun pb !!!
j'attendrai de récupérer 2007 pour retester, mais d'ici là
1) je reconstruis une autre formule en triturant différemment mes tableaux
2) si quelqu'un a une idée, je suis vraiment intéressée de comprendre ce
qui se passe !
;-)
Misange
Avatar
MichDenis
| Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
| m'écrit : =INDEX(mat_nom; EQUIV("3006";mat_code;0))
| et là, avec les guillemets autour du 3006 ben ça marche plus !

As-tu vérifié le format de tes plages de cellules ? Est-ce possible
que certaines plages soient au format "texte" plutôt que "Standard" ?
La colonne contenant 3006 est-elle au format "texte" ? Ça expliquerait
le retour de 3006 avec les guillemets...






"Misange" a écrit dans le message de news:

Hello

un truc qui m'agace:
sous xl2002, j'écris la formule suivante (une seule ligne)
=INDEX(mat_nom; EQUIV(INDEX(detcom_mat;
EQUIV(2;detcom_numlignecom;0));mat_code;0))
qui fonctionne nickel

je passe sous 2007
ca fonctionne nickel toujours (vous me direz, encore heureux !)

je repasse sous 2002, contrainte et forcée (no comment)
ça ne fonctionne plus et renvoie #N/A
j'analyse l'erreur :
les plages sont définies comme il faut

si j'évalue moi-même à la main chaque bout de la formule c'est OK :
=INDEX(detcom_mat; EQUIV(1;detcom_numlignecom;0))
me renvoie 3006 comme attendu
et si je tape
=INDEX(mat_nom; EQUIV(3006;mat_code;0))
je récupère truc-machin comme j'attends

Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
=INDEX(mat_nom; EQUIV("3006";mat_code;0))
et là, avec les guillemets autour du 3006 ben ça marche plus !

d'où sortent ces guillemets ? Et comment faire remarcher cette formule ?
C'est d'autant plus agaçant que des formules de ce genre le classeur en
est plein et que c'est la seule qui fait ça...
A tous hasard si ça peut vous aider, les données qui remplissent les
plages nommées sont importées à partir d'un fichier texte. J'ai essayé
de changer le format des données mais ça ne change rien.
Merci de vos lumières
Misange
Avatar
Misange
| Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
| m'écrit : =INDEX(mat_nom; EQUIV("3006";mat_code;0))
| et là, avec les guillemets autour du 3006 ben ça marche plus !

As-tu vérifié le format de tes plages de cellules ? Est-ce possible
que certaines plages soient au format "texte" plutôt que "Standard" ?
La colonne contenant 3006 est-elle au format "texte" ? Ça expliquerait
le retour de 3006 avec les guillemets...


Salut Denis
C'est ce que je me suis dit mais le fait de passer en format texte,
nombre standard ne change rien. J'ai effacé l'importation de données
pour refaire en vérifiant que j'étais en standard dans la colonne.
J'essaie de faire un mini classeur qui récapitule le pb (on parie que ça
va marcher dans le petit !!!) et j'envoie
Misange

Avatar
MichDenis
Un ti supplément : =Equiv(5;plage;0)
si la valeur recherchée 5 n'est pas du même format
que la valeur affichée dans la plage, la formule retourne #n/a




"MichDenis" a écrit dans le message de news:

| Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
| m'écrit : =INDEX(mat_nom; EQUIV("3006";mat_code;0))
| et là, avec les guillemets autour du 3006 ben ça marche plus !

As-tu vérifié le format de tes plages de cellules ? Est-ce possible
que certaines plages soient au format "texte" plutôt que "Standard" ?
La colonne contenant 3006 est-elle au format "texte" ? Ça expliquerait
le retour de 3006 avec les guillemets...






"Misange" a écrit dans le message de news:

Hello

un truc qui m'agace:
sous xl2002, j'écris la formule suivante (une seule ligne)
=INDEX(mat_nom; EQUIV(INDEX(detcom_mat;
EQUIV(2;detcom_numlignecom;0));mat_code;0))
qui fonctionne nickel

je passe sous 2007
ca fonctionne nickel toujours (vous me direz, encore heureux !)

je repasse sous 2002, contrainte et forcée (no comment)
ça ne fonctionne plus et renvoie #N/A
j'analyse l'erreur :
les plages sont définies comme il faut

si j'évalue moi-même à la main chaque bout de la formule c'est OK :
=INDEX(detcom_mat; EQUIV(1;detcom_numlignecom;0))
me renvoie 3006 comme attendu
et si je tape
=INDEX(mat_nom; EQUIV(3006;mat_code;0))
je récupère truc-machin comme j'attends

Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
=INDEX(mat_nom; EQUIV("3006";mat_code;0))
et là, avec les guillemets autour du 3006 ben ça marche plus !

d'où sortent ces guillemets ? Et comment faire remarcher cette formule ?
C'est d'autant plus agaçant que des formules de ce genre le classeur en
est plein et que c'est la seule qui fait ça...
A tous hasard si ça peut vous aider, les données qui remplissent les
plages nommées sont importées à partir d'un fichier texte. J'ai essayé
de changer le format des données mais ça ne change rien.
Merci de vos lumières
Misange
Avatar
isabelle
bonjour Misange,

le fait de remettre au format standard ne suffit pas,

tu peut copier une cellule vide (non formater) et fait un collage spécial "addition" sur la plage source contenant le 3006,

isabelle

| Si je demande à excel d'évaluer pas à pas la formule voilà ce qu'il
| m'écrit : =INDEX(mat_nom; EQUIV("3006";mat_code;0))
| et là, avec les guillemets autour du 3006 ben ça marche plus !

As-tu vérifié le format de tes plages de cellules ? Est-ce possible
que certaines plages soient au format "texte" plutôt que "Standard" ?
La colonne contenant 3006 est-elle au format "texte" ? Ça expliquerait
le retour de 3006 avec les guillemets...


Salut Denis
C'est ce que je me suis dit mais le fait de passer en format texte,
nombre standard ne change rien. J'ai effacé l'importation de données
pour refaire en vérifiant que j'étais en standard dans la colonne.
J'essaie de faire un mini classeur qui récapitule le pb (on parie que ça
va marcher dans le petit !!!) et j'envoie
Misange



Avatar
Misange
bonjour Misange,

le fait de remettre au format standard ne suffit pas,

tu peut copier une cellule vide (non formater) et fait un collage
spécial "addition" sur la plage source contenant le 3006,


j'ai additionné du vide, multiplié par 1, rien à faire.
Pourtant je pressens bien que c'est de ce côté que ça se passe, le coup
des "" est trop louche !
Misange

1 2