Bonjour,
C'est parce qu'il faut d'abord filtrer la ligne pour ne récupérer que la cellule remplie, avant de la chercher.
Une formule simple (en C4), en supposant que vous n'avez qu'une seule entrée par ligne.
=RECHERCHEX(
FILTRE(Tableau1[@[16/09/2025]:[01/05/2026]];Tableau1[@[16/09/2025]:[01/05/2026]]<>"");
'Clés '!$B$4:$B$7;'Clés '!$C$4:$C$7)
Et une formule un peu plus longue, pour gérer le cas où l'état évolue dans le tableau (on renvoie le dernier état renseigné) :
=RECHERCHEX(
LET(
_cles; FILTRE(Tableau1[@[16/09/2025]:[01/05/2026]]; Tableau1[@[16/09/2025]:[01/05/2026]] <> "");
INDEX(_cles; NBVAL(_cles))
);
'Clés '!$B$4:$B$7;
'Clés '!$C$4:$C$7
)
EDIT : je n'avais pas vu la question pour les dates. Meme principe (en D4) :
=FILTRE(Tableau1[[#En-têtes];[16/09/2025]:[01/05/2026]];NON(ESTVIDE(Tableau1[@[16/09/2025]:[01/05/2026]])))
ou bien (recommandé)
=LET(_dates;FILTRE(Tableau1[[#En-têtes];[16/09/2025]:[01/05/2026]];NON(ESTVIDE(Tableau1[@[16/09/2025]:[01/05/2026]])));
INDEX(_dates;NBVAL(_dates)))