Salut à tous et merci pour toutes ces suggestions.
Effectivement, je n'avais pas pensé aux formes conditionnelles. J'ai essayé, mais le problème est que le nombre de date dans le tableau est variable. Je lui définis donc toute une série de cellule pour la condition "si inférieur à la date d'aujourd'hui ...", mais toute les cellules sans date subissent alors cette condition.
Pour ma boucle, effectivement, la variable i était fausse, je l'ai remplacé par k. Ca ne suffit pas. J'ai changé l'approche :
Dim DateLimite As Date
Dim DelaiLimite
Dim k
Dim DateActuelle As Date
DateActuelle = Now
Sheets("ATTENTION").Select
' Colore en Gris les délais négatifs
For k = 3 To 25
' Test de la cellule selectionnée
Range("D" & k).Select
DateLimite = Range("D" & k).Value
DelaiLimite = (DateLimite - DateActuelle)
If (DelaiLimite < 0) Then
' Action
Range("D" & k).Select
Cell.Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
Else
Blanc = 0
End If
Next k
Mais en l'exécutant, il plante sur "Else" : "Erreur de compilation: Else sans If"
Je vais regarder les autres propositions faites.
Merci