Bonjour,
A priori, pas besoin de plage et de boucle.
A te relire.
Cdlt.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Me.Range("G13:R21")) Is Nothing Then
Target.Interior.ColorIndex = IIf(IsDate(Target), 4, xlColorIndexNone)
End If
End Sub