Bonjour à tous,
Cette formule recherche si il y a un libellé ayant à la fin "Livret A".
la fonction INDEX(Tableau1[Date];Numero de ligne) renvoie la date qui sera sur la ligne recherchée.
Pour rechercher le numéro de ligne, on utilise petite.valeur(plage;rang)
PETITE.VALEUR(SI(ESTNUM(CHERCHE("*"&EPARGNE!$A$1;Tableau1[Libellé]));LIGNE(Tableau1[Date])-1);LIGNE(1:1))
On cherche dans le tableau 1 champ libellé comprenant des "Livret A", pour cela on met un "*" devant.
CHERCHE("*"&EPARGNE!$A$1;Tableau1[Libellé]), cela renvoie
{#VALEUR!;1;1;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!;#VALEUR!}
Pour excel il ne faut pas avoir des "#VALEUR!" donc on utilise la fonction estnum(plage), cela renvoie
{FAUX;VRAI;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX}
donc si il y a vrai on retourne le numéro de ligne
LIGNE(Tableau1[Date]), cela renvoie
{2;3;4;5;6;7;8;9;10;11;12;13;14;15}
comme la plage Tableau1[Date] débute en ligne 2, on enlève 1
LIGNE(Tableau1[Date])-1, cela renvoie
{1;2;3;4;5;6;7;8;9;10;11;12;13;14}
pour le rang, on utilise la fonction LIGNE(1:1) soit 1, cela permet lors de la recopie vers le bas d'incrémenter le rang automatiquement, LIGNE(2:2) donnera 2, etc..
J'espère t'avoir éclairé sur cette formule qui n'est pas facile.
JHA