Private Sub Worksheet_Change(ByVal Target As Range)
Dim couleur As Long, c As Long, cel As Range
If Target.Row < 3 Or Target.Columns.Count > 1 Then Exit Sub
For Each cel In Target
Select Case cel.Column
Case 5
If cel = "" Or cel.Offset(0, 1) <> "" Then
Cells(cel.Row, 7).Resize(1, 44).Interior.ColorIndex = xlNone
Else
couleur = Cells(cel.Row, 1).Interior.ColorIndex
For c = 1 To 44
If Worksheets("Tables").Range(cel.Value).Offset(0, c).Interior.ColorIndex = 15 Then
Cells(cel.Row, 6).Offset(0, c).Interior.ColorIndex = xlNone
Else
Cells(cel.Row, 6).Offset(0, c).Interior.ColorIndex = couleur
End If
Next c
End If
Case 6
If cel = "" Then
Call Worksheet_Change(cel.Offset(0, -1))
Else
Cells(cel.Row, 7).Resize(1, 44).Interior.ColorIndex = xlNone
End If
End Select
Next cel
End Sub