Salut Hervé et les autres,
En D2 : =SI(LIGNE()>MAX($A:$A);'';RECHERCHEV(LIGNE();$A:$C;COLONNE()-2;0))
J'emploie les fonctions LIGNE() et COLONNE() au lieu des constantes 2 et 4, afin qu'elles s'incrémentent à la copie, tant vers la bas que vers la droite.
J'aurai même pu écrire $A:B au lieu de $A:$C, cette référence se serait également incrémentée en $A:C en la copiant vers la droite.
LIGNE()>MAX($A:$A) est une condition qui vérifie la présence de la valeur cherchée (sous la fonction RECHERCHEV) dans la colonne A et évite d'envoyer un message d'erreur si elle n'est pas trouvée.
Elle peut aussi être écrite : NB($D1
1)+2
Le '2' provient du fait que la numérotation en colonne A commence par '2'.
Si en A2 j'avais écris =SI(B2=B3;'';NB(A$1:A1)+
1) au lieu de =SI(B2=B3;'';NB(A$1:A1)+
2), j'aurai du écrire en D2 :
=SI(LIGNE()
-1>MAX($A:$A);'';RECHERCHEV(LIGNE()
-1;$A:$C;COLONNE()-2;0)).
C'est un libre choix de ma part.
RECHERCHEV(LIGNE();$A:$C;COLONNE()-2;0))
recherche dans la première colonne de la plage A:C (=A) la valeur du no de la ligne (=2) en demandant de renvoyer la valeur se trouvant sur la même ligne dans la colonne D-2 = 4-2=2.
Je suppose que ce qui t'a quelque peu pertrubé c'est d'avoir remplacé les constantes par les fonctions LIGNE et COLONNE.
Le seul but est l'incrémentation.
J'espère avoir été clair dans mes explications, faute de quoi ... tu sais où j'habite, et je suis toujours à la masion (lol).
Ândré.