Bonjour,
Sur Feuil2 j'ai les noms, prénoms, villes, etc. de mes contacts, dans la cellule F1 en Feuil2 j'ai la liste déroulante dans laquelle j'ai choisi une ville. En Feuil3 cellule A2, dans ce genre de situation j'utilise
=SI(ESTERREUR(EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A1;0))+A1);"";EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A1;0))+A1)
(à recopier de A2 jusqu'à A100 par exemple) qui permet de retrouver le numéro de chaque ligne dans le tableau Feuil2C2:C7 où on trouve la même valeur que celle dans F1 (la ville choisie).
A1 doit être vide, donc vaut 0, si je trouve 4 en A2 ça veut dire que la ville se trouve sur la 4ème ligne dans C2:C7, ensuite en recopiant la formule en A3 on a =SI(ESTERREUR(EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A2;0))+A2);"";EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A2;0))+A2) donc Excel récupère la valeur en A2 (le chiffre 4) et il commence à chercher après cette valeur pour trouver l'occurence suivante, en ligne 5 ou 6 ou...., s'il n'y en a plus on obtient rien à l'écran "".
Le "=SI(ESTERREUR(...))" permet d'afficher des cellules vides ("") quand on a trouvé toutes les occurences, la formule principale est surtout :
EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A1;0))+A1
Dans les colonnes suivantes pour récupérer le nom j'ai mis :
=SI(ESTERREUR(EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A1;0))+A1);"";INDEX(Feuil2!$A$2:$A$7;EQUIV(Feuil2!$F$1;DECALER(Feuil2!$C$2:$C$7;A1;0))+A1))
qui me permet de trouver la valeur en ligne 4 mais cette fois dans la colonne A sur la feuille Feuil2 (celle contenant les noms), et ainsi de suite dans les autres colonnes il suffit juste de changer A2:A7 par B2:B7, etc.
On peut bien sûr ensuite masquer la colonne A pour ne pas faire apparaître les n° de ligne.
A+