Re : Double recherche
re,
Une "petite" explication :
Formule en B13 :
EQUIV($B$3;BDD!$A:$A;0) : me donne le numéro de ligne de la recette dans BDD
INDIRECT("BDD!L"&EQUIV($B$3;BDD!$A:$A;0);0) : la fonction INDIRECT me permet de « construire » une formule à) partir du numéro de ligne déterminé ci-dessus
ESTNUM(EQUIV("*"&$A12&"*";INDIRECT("BDD!L"&EQUIV($B$3;BDD!$A:$A;0);0));0) : me répond VRAI ou FAUX si la ligne contient le libellé (POULET, …).
=(ESTNUM(EQUIV("*"&$A13&"*";INDIRECT("BDD!L"&EQUIV($B$3;BDD!$A:$A;0);0);0)))*LIGNE()
Pour Excel, VRAI=1, FAUX=0, donc je multiplie 0 ou 1 par le numéro de la ligne, ce qui me donne le numéro de la ligne correspondant à l’ingrédient.
Formule en B4 :
SI(ESTERREUR(DECALER($A$11;SOMME($B$12:$B$20)-11;0));"pas de viande";DECALER($A$11;SOMME($B$12:$B$20)-11;0))
Ensuite, avec la fonction DECALER, je vais rechercher l’info dans BDD. Si il n’y a pas de viande, il me renvoie un message d’erreur, d’où le test SI(ESTERREUR(….
Explication peut-être un peu longue. L’essentiel est de bien décomposer la formule en sous-formules pour en comprendre la logique.
Bon app
@+