Bonjour, Salut à tous !
Pas pu revenir hier, désolé ! Une autre version :
Formule en Q7 (à tirer sur la colonne)...
=T(INDEX($C$1:$C$56;MOD(PETITE.VALEUR(RANG($M$7:$M$56;$M$7:$M$56)+LIGNE($M$7:$M$56)/1000;LIGNE(1:1));1)*1000))
La formule est matricielle (à valider par Ctrl+Maj+Entrée).
Elle utilise le rang des valeurs en colonne M, (donc on recherche PETITE et non GRANDE.VALEUR), augmenté d'un indicateur de ligne (numéro de ligne / 1000). LIGNE(1:1) est le rang de PETITE.VALEUR qui s'incrémentera lors de la recopie. En mettant cette PETITE.VALEUR sous MOD(...;1) on récupère l'indicateur de ligne (à multiplier par 1000 pour retrouver la ligne), que l'on applique comme index de ligne à C1:C56. T est une fonction qui force le renvoie sous forme texte et évite l'apparition de 0 quand il n'y a plus de nom.
A cet égard, la colonne C était cafouilleuse, au-dessous des noms (en dur) se poursuivaient des reliquats de formules ??? En l'état j'ai effacé pour homogénéiser... mais il convient si une formule occupe cette colonne, de faire en sorte qu'elle renvoie soit un nom, soit la valeur "".
Et ne pas confondre "" et " " (=espace, caractère 32) qui ne manquera pas de poser des problèmes !!!
Pour compléter, en R7 :
=SI($Q7<>"";RECHERCHEV($Q7;$C$7:$N$56;COLONNE(B:B);FAUX);"")
Sous cette forme, la formule est recopiable de R jusqu'à Z, et jusqu'à la ligne 56 !
Et même remarque concernant "" et " " : une espace, ce n'est pas rien !