Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range
Dim c As Range
If Target.Count > 1 Then Exit Sub
If Target.Row < 5 And Target.Column <> 2 Then Exit Sub
With Sheets("Sheet4")
Set plage = .Range("B2:B" & .Range("B65536").End(xlUp).Row)
End With
If Target.Value <> "" Then
Set c = plage.Find(Target.Value)
If Not c Is Nothing Then
Target.Interior.ColorIndex = c.Offset(0, -1).Interior.ColorIndex
Target.Offset(0, 1) = c.Offset(0, -1)
' Calcul
End If
Else
Target.Interior.ColorIndex = xlNone
End If
End Sub