simplifions pour la suite ...
=SI(LIGNE(A1)>NB.SI(TabAppart[n°1];"x");"";INDEX(TabAppart[Numéro appart];-1+PETITE.VALEUR(SI(TabAppart[n°1]="x";LIGNE(TabAppart[Numéro appart])+1-LIGNE(TabAppart[[#En-têtes];[Numéro appart]]);"");LIGNE(A1))))
le corps :
INDEX(
TabAppart[Numéro appart];
-1+PETITE.VALEUR(
SI(
TabAppart[n°1]="x";
LIGNE(TabAppart[Numéro appart])+1-LIGNE(TabAppart[[#En-têtes];[Numéro appart]]);
"");
LIGNE(A1))
)
INDEX
va aller chercher dans la colonne Numéro appart
la plus petite valeur
* (rang 1, puis 2, puis 3 etc. représenté par LIGNE(A1)
, puis LIGNE(A2), puis A3 etc
d'une série de données conditionnée par SI et la condition "x", si cette condition n'est pas respectée, ce sera "", si elle est respectée ce sera la ligne en relatif par rapport à l'en-tête du tableau qui peut comme ici ne pas être positionnée à la ligne 1 et donc 1-LIGNE(TabAppart[[#En-têtes];[Numéro appart]]) n'est pas forcément nul
* -1 car TabAppart[Numéro appart]
ne prend pas en compte l'en-tête du tableau
Si tu as suivi c'est bien ! sinon refais pas à pas sur un cas plus simple !