Salut,
Il y a un petit souci dans ton explication >30 et entre 31 et 40 pour moi c'est pareil, en admettant que ce soit inférieur à 30 jours pour le rouge , testes ceci:
Sub MiseEnC()
Dim I&
For I = 5 To [A65536].End(xlUp).Row
With Range("D" & I)
Select Case DateDiff("d", .Value2, Now)
Case Is < 31: .Font.ColorIndex = 3
Case 31 To 40: .Font.ColorIndex = 45
Case Is > 40: .Font.ColorIndex = 1
End Select
End With
Next I
End Sub
A+++
Ps au fait quand on mets des trucs pour masquer des options en ouverture d'un classeur, il faut pas oublier de les remettre en place avant de le fermer.