Recherche de valeur

Bonjour,

J'ai un classeur avec 2 feuilles.

La 1ère qui se nomme "liste" contient 6 colonnes :

Col 1 à Col6

La seconde qui se nomme "lf" contient 5 colonnes

Col 1 à Col 5.

Ce que je souhaite pouvoir faire :

dans "Liste" si la valeur de Col 2 se trouve dans la feuille "lf" dans la Col 2, je veux copier le texte de Col 5 dans la feuile "liste" en Col 7.

A savoir, dans la feuille "lf" il peut y avoir plusieurs lignes qui correspondent à la valeur de la Col 2 de "Liste", donc copie en Col8.....de la feuille "liste'

En complément, la Col2 de "liste" peux ne pas avoir de correspondance dans l'autre feuille.

J'espère avoir été assez clair.

7exemple.xlsx (11.60 Ko)

en PJ un extrait du fichier

Merci par avance de votre aide.

Salut par phil_79 et

à tester

13exemple-1.xlsx (13.76 Ko)

@+

Bonjour à tous,

Bonjour,

A savoir, dans la feuille "lf" il peut y avoir plusieurs lignes qui correspondent à la valeur de la Col 2 de "Liste", donc copie en Col8.....de la feuille "liste'

En complément, la Col2 de "liste" peux ne pas avoir de correspondance dans l'autre feuille.

un essai :

9exemple-phil.xlsx (15.88 Ko)

Crdlmt

Merci DjiDji59430 c'est exactement ce que je voulais.

Par contre, peux-tu m'expliquer la formule

Merci M3ellem1 mais cela ne répond pas à 100 % à mon besoin car toutes les valeurs de la feuille "liste" ne sont pas remontées.

DjiDji59430 m'a apporté une solution.

Encore merci pour cette réponse rapide.

Re

=SIERREUR(INDEX(LF!$E$2:$E$36;PETITE.VALEUR(SI(LF!$B$2:$B$36=Liste!$B2;LIGNE(LF!$B$2:$B$36)-1);COLONNES($A:A)));"")

Sierreur(xxxxxxxxxxxx,"") retourne "rien" s'il y a une erreur donnée par la formule, en particulier dans le cas ou Il n'y a plus rien a trouver

PETITE.VALEUR(SI(LF!$B$2:$B$36=Liste!$B2;LIGNE(LF!$B$2:$B$36)-1);COLONNES($A:A)));"")

SI(LF!$B$2:$B$36=Liste!$B2 je filtre la colonne et ne garde que les cellules qui contiennent b2

LIGNE(LF!$B$2:$B$36)-1 et je lis la valeur equivalente aux lignes d'index (de 1==>35) de la plage.

;COLONNES($A:A)) = 1 je trouve donc l'index de la 1ere valeur => dans la colonneL F!$E$2:$E$36

quand je deplace la formule a droite COLONNES($A:A) ==>COLONNES($A:B) soit 2

je trouve donc l'index de la 2 ème valeur => dans la colonne L F!$E$2:$E$36

etc

si seulement 2 valeurs, la troisième (COLONNES($A:C)) donne une erreur , d'ou le sierreur

Crdlmt

Merci pour l'explication, c'est top.

Rechercher des sujets similaires à "recherche valeur"