Bonjour,
=INDEX(DECALER($B$3;0;0;NBVAL(A:A);1);EQUIV($B$21;DECALER($A$3;0;0;NBVAL(A:A);1);0))
Si tu as un titre de colonne en A2 :
=INDEX(DECALER($B$3;0;0;NBVAL(A:A)-1;1);EQUIV($B$21;DECALER($A$3;0;0;NBVAL(A:A)-1;1);0))
ou bien plus court :
=INDEX(DECALER($B$3;;;NBVAL(A:A)-1
;EQUIV($B$21;DECALER($A$3;;;NBVAL(A:A)-1
;0))
car tu n'as pas besoin de préciser
les 2 zéros (décalage de 0 ligne, décalage de 0 colonne)
ni le 1, qui est "largeur de 1 colonne"
A la rigueur, si tu veux garder dans ta formule les références du tableau,
tu peux écrire ceci, mais ça ne vaut pas le coup :
=INDEX(DECALER($A$3:$L$3;0;0;NBVAL(A:A);7);EQUIV($B$21;DECALER($A$3;0;0;NBVAL(A:A);1);0);2)
ou bien :
=INDEX(DECALER($A$3:$L$3;;;NBVAL(A:A);7);EQUIV($B$21;DECALER($A$3;;;NBVAL(A:A)
;0);2)
Dans ce cas, tu es obligée de rentrer dans ta formule
le 7, qui est la largeur du tableau en nb de colonnes
et le 2, car c'est dans la 2è colonne que tu cherches tes données.
Le plus simple serait de mettre ailleurs ton $B$21 et de faire ta recherche sur une plage plus longue.
Le $B$21 peut aller dans une autre feuille, en A1 par exemple
Tu donnes un nom à tes colonnes de données, "Numero" de A3 à A100 ou plus
"Client" de B3 à B100 ou plus si les noms sont en colonne B.
Ta formule, mise dans une autre feuille, devient :
=INDEX(Client;EQUIV(A1;Numero;0))
Et, en plus, la formule est plus facile à lire, donc à modifier.