Bonjour à tous,
la formule que j'ai mise dans mon second fichier de test fonctionne et je n'ai pas de souci pour la comprendre. Ma seule problématique est que j'ai besoin de passer plusieurs plages dans ma formule index().
Ma formule pour une plage unique est :
=INDEX(A2:M2;1;EQUIV(VRAI;INDEX((A2:M2<>"");0);0))
Il est possible de passer plusieurs plages dans une formule INDEX() en y insérant une fonction INDIRECT() (cette procédure fonctionne également avec NBVAL(INDIRECT) et permet de compter des valeurs sur plusieurs plages de cellules non contiguës.
J'ai donc simplement remplacé dans ma formule INDEX() la matrice A2:M2 par INDIRECT({"A2";"E2";"I2"}) --> ce qui donne :
=INDEX(INDIRECT({"A2";"E2";"I2"});1;EQUIV(VRAI;INDEX((INDIRECT({"A2";"E2";"I2"})<>"");0);0))
La première partie de la formule soulignée ci-dessus fonctionne parfaitement.
L'erreur se produit sur INDEX((INDIRECT({"A2";"E2";"I2"})<>"");0).
Il parait que tout seul on va plus vite, mais qu'à plusieurs on va plus loin, aidez-moi à ne pas faire mentir ce proverbe :-)
Je vous remets le fichier de base :
pour répondre aux questions ci-avant, le groupe de 4 colonnes NOM prénom date de naissance et ville sera toujours ainsi.
Comme sur le fichier joint, à la suite les uns des autres et sans espace entre chaque colonne. la recherche du nom se fera donc sur les colonnes A, E, I, M, Q,...etc toutes les 4 colonnes.
J'ai ajouté une légende pour être le plus clair possible.