'Evènement "_Change" de la feuille.
'Se déclanche à chaque changement de cellule (lorsqu'on valide la saisie).
'"Target" représente la cellule (ou zone) qui vient de changer.
Private Sub Worksheet_Change(ByVal Target As Range)
'Vérifier si la cellule qui vient de changer est dans la colonne O ou P.
'Sinon, quitter la macro.
If Application.Intersect(Target, Range("O:P")) Is Nothing Then Exit Sub
'Si Target est dans la colonne O est que la valeur saisie est une date
If Not Application.Intersect(Target, Range("O:O")) Is Nothing And IsDate(Target.Value) Then
Target.EntireRow.Interior.ColorIndex = 38
'sinon, on effectue le test sur la colonne P
ElseIf Not Application.Intersect(Target, Range("P:P")) Is Nothing And IsDate(Target.Value) Then
Target.EntireRow.Interior.ColorIndex = 15
End If
End Sub