Private Sub worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
Dim l As Long 'ligne premier tableau
Dim c As Long ' colonne premier tableau
Dim c_tab As Long ' colonne des tableaux de droite
Dim saut As Integer ' décalage du "trou" pour les colonnes des tableaux de droite
l = 14
c = 5
c_tab = 19
saut = 0

Do
    If Cells(l, c).Value = "" Then
        Application.ScreenUpdating = True
        Exit Do
    End If
    For c = 5 To 9
        val_cherchée = Cells(l, c).Value
        For c_tab = 19 To 253
            If c_tab > 36 And c_tab < 38 Then saut = 1
            If c_tab > 55 And c_tab < 63 Then saut = 7
            If c_tab > 77 And c_tab < 85 Then saut = 7
            If c_tab > 99 And c_tab < 107 Then saut = 7
            If c_tab > 121 And c_tab < 129 Then saut = 7
            If c_tab > 143 And c_tab < 151 Then saut = 7
            If c_tab > 165 And c_tab < 173 Then saut = 7
            If c_tab > 187 And c_tab < 195 Then saut = 7
            If c_tab > 209 And c_tab < 217 Then saut = 7
            If c_tab > 231 And c_tab < 239 Then saut = 7
            
            If Cells(l, c_tab + saut).Value = val_cherchée Then
                Cells(l, c_tab + saut).Interior.Color = Cells(13, c).Interior.Color
            End If
        Next c_tab
        saut = 0
    Next c
    c = 5
    l = l + 1
Loop
Application.ScreenUpdating = True
End Sub
