INDEX + EQUIV, problème de copie
Bonjour à tous,
je sors de l'ombre et des tutoriels du site pour vous demander votre aide, j'ai un problème que je n'arrive pas à résoudre (ou même à en trouver la source).
Je suis en train de mettre en place un tableur me permettant de suivre un petit chantier. Il y a beaucoup de produits et d'informations différentes, j'ai donc choisi pour éviter toute erreur, de créer une feuille (nommée "ref" dans mon fichier) compilant les produits avec l'intégralité des infos. Les produits sont identifiés par un code (nommé "ID" dans mon fichier) grâce auquel on va pouvoir faire référence au produit.
Mes autres feuilles sont plus spécifiques. Par exemple ma feuille "fourn. pieces" compile les différents produits classés par pièce, pour que le client puisse faire ses choix, et contient les informations qui concernent le client : marque, modèle, finition... et ma feuille "fourn. lots" compile ces mêmes produits par classés par lots (peinture, plomberie, électricité...) pour que l'entreprise puisse faire ses achats, et contient des informations qui la concernent : référence fabricant...
Pour ce faire, mes en-têtes font référence (recopient?) aux en-têtes de la feuille "ref", de manière à ce qu'ils se mettent à jour si je change la formulation, en choisissant pour chaque feuille quelle information je veux afficher. Mon objectif serait de n'avoir qu'à rentrer le code "ID" de chaque produit utilisé, et que le reste du tableau se remplisse automatiquement avec les informations correspondant à l'en-tête, copiées depuis la feuille ref.
J'ai donc utilisé une combinaison des formules INDEX et EQUIV, avec comme matrice pour INDEX ma feuille "ref, et comme numéro de ligne l'EQUIV de la cellule "ID" de ma feuille courante, cherché dans la colonne "ID" de la feuille "ref", et comme numéro de colonne l'EQUIV de la cellule d'en tête de la feuille courante, cherché dans la ligne d'en tête de la feuille "ref". Comme vous pouvez le voir dans cet extrait de la feuille "fourn. pièce", la formule fonctionne bien dans la première case ou je l'ai écrite (C2). Quand je change l'ID, les informations changent, c'est ce qu'il me fallait. Si je copie la cellule une ligne plus bas, ça fonctionne toujours, les cellules de référence de la formule changent comme il faut. Par contre, quand je copie la cellule dans une autre colonne, ça ne fonctionne pas tout le temps (pour certaines colonnes oui, pour d'autres non).
J'en déduis donc que c'est un problème de colonnes et pas de lignes, et qu'il vient probablement du fait que mes colonnes ne sont pas nécessairement dans le même ordre entre ma feuille "ref" et la feuille y faisant référence. Cependant, je croyais que EQUIV cherchait l'équivalent textuel exact plutôt que le numéro de colonne...
ça commence à me rendre fou... est ce que quelqu'un aurait une réponse à m'apporter?
Merci infiniment, ça m'enlèverait une sacrée aiguille du pied!
Bonsoir,
La fonction EQUIV prend 3 arguments.
L'aide en ligne indique: "type: Facultatif. Nombre -1, 0 ou 1. L’argument type indique comment Excel compare l’argument valeur_cherchée aux valeurs de l’argument matrice_recherche. Valeur par défaut de cet argument : 1"
Si tu cherches une concordance exacte entre ta "Valeur_cherchée" et les valeurs du "Tableau_recherche", tu dois renseigner un 0 dans la zone type !
En C22, ta formule devient donc:
=INDEX(ref!$B$2:$Q$91;EQUIV('fourn. pieces'!$L22;ref!$A$2:$A$91;0);EQUIV(C$2;ref!$B$1:$Q$1;0))
Oh, c'était si simple que ça.
Désolé du dérangement et merci beaucoup pour ton aide!