Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range, Fcell As Range, Rw As Long
Dim Lob As ListObject: Set Lob = Worksheets("Feuil1").ListObjects(1)
Application.EnableEvents = False
Select Case True
Case Target.Count > 1
Case Target.Column > 1
Case Else
Set C = Lob.ListColumns("Couleurs").DataBodyRange.Find(Target, , xlValues, xlWhole)
If Not C Is Nothing Then
Target.Interior.Color = C.Interior.Color
Rw = C.Row - Lob.DataBodyRange.Row + 1
Target.Offset(, 1).Value = Lob.ListColumns("Noms").DataBodyRange.Rows(Rw)
Set Fcell = Target.Cells(1).Offset(, 2)
For Each C In Lob.Parent.Range(Lob.Name & "[[Encre 1]:[Encre 4]]").Rows(Rw).Cells
If C <> "" Then
Fcell.Resize(, 2) = Array(Lob.ListColumns(C.Column), C)
Set Fcell = Fcell.Offset(1)
End If
Next
Else
Target.Interior.Color = xlNone
End If
End Select
Application.EnableEvents = True
End Sub