Votre formule est correcte dans le principe, mais le problème vient probablement du référencement de la cellule dans la MFC.
Lorsque vous utilisez une formule du type :
=$H4 <= DATE(ANNEE(H4)+5; MOIS(H4); JOUR(H4))
la partie H4 à droite n’est pas figée → Excel va la décaler ligne par ligne lors de l’application de la mise en forme conditionnelle, ce qui crée un décalage et fausse le test.
Pour comparer la date de la ligne avec “+5 ans”, il faut utiliser une référence cohérente et relative :
Formule correcte à utiliser dans la MFC
=H4 <= DATE(ANNEE(H4)+5; MOIS(H4); JOUR(H4))
ou, de manière plus robuste :
=AUJOURDHUI() >= DATE(ANNEE($H4)+5; MOIS($H4); JOUR($H4))
Explications :
Pas besoin du $ devant H4 dans une MFC appliquée ligne par ligne.
La formule doit être écrite par rapport à la première ligne du bloc sélectionné.
Assurez-vous que la plage de MFC commence bien à partir de la ligne 4.