Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
[B] [E:E].Offset(, -4).Resize(, 6).Interior.ColorIndex = xlNone[/B]
[B] For Each c In Range([E2], [E65000].End(xlUp))[/B]
If c > 0 Then
If Date = c.Value Then _
c.Offset(, -4).Resize(, 6).Interior.ColorIndex = Range("légende")(2).Interior.ColorIndex
If Date > c.Value And c.Offset(, -1) = "" Then _
c.Offset(, -4).Resize(, 6).Interior.ColorIndex = Range("légende")(1).Interior.ColorIndex
If c.Value >= Date + 1 And c.Value <= Date + 4 Then _
c.Offset(, -4).Resize(, 6).Interior.ColorIndex = Range("légende")(3).Interior.ColorIndex
If c.Offset(, -1) > 0 Then _
c.Offset(, -4).Resize(, 6).Interior.ColorIndex = Range("légende")(4).Interior.ColorIndex
End If
Next c
End Sub