Bonsoir,
en reprenant la demande : "formule" je vous propose ces trois formules, pour le négatif, neutre et positif :
{=SIERREUR(INDEX($C$5:$C$24;PETITE.VALEUR(SI($D$5:$D$24<0;LIGNE($D$5:$D$24)-4);LIGNE()-4));"")}
{=SIERREUR(INDEX($C$5:$C$24;PETITE.VALEUR(SI($D$5:$D$24=0;SI($D$5:$D$24<>"";LIGNE($D$5:$D$24)-4));LIGNE()-4));"")}
{=SIERREUR(INDEX($C$5:$C$24;PETITE.VALEUR(SI($D$5:$D$24>0;LIGNE($D$5:$D$24)-4);LIGNE()-4));"")}
Chaque formule est à valider en matricielle : Shift + Ctrl + Enter après la copie en ligne 5, puis le copier par glisser de la poignée de recopie.
Le principe ? On crée la matrice de données de PETITE.VALEUR en testant la condition voulue, si la condition est vrai alors on "inscrit" dans la matrice le numéro de ligne de la feuille excel - 4 qui correspond à l'entête avant le tableau, sinon on ne fait rien, du coup c'est FAUX qui est pris en compte. On se retrouve avec une matrice de la forme suivante :
{1;2;3;4;FAUX,FAUX;7;FAUX;9} par exemple. Le paramètre "K" de PETITE.VALEUR prend pour valeur à chaque formule la valeur de la ligne où se trouve la formule - les 4 du haut de la feuille. La première petite valeur correspondant au test inférieur à 0 est donc 5-4 = 1, c'est la première de la matrice d'INDEX ce qui renvoie "14".
@ bientôt
LouReeD