Option Explicit
Dim tf As Boolean
Private Const Plage$ = "E1:E61" [COLOR="Green"]' Zone de saisie[/COLOR]
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range(Plage$)) Is Nothing Then
If tf Then
tf = False
Else
Dim N%, C As Range
Application.ScreenUpdating = False
For Each C In Intersect(Target, Me.Range(Plage$)).Cells
C.Interior.ColorIndex = xlColorIndexNone
C.Font.ColorIndex = xlColorIndexAutomatic
For N = 1 To Me.Cells(Me.Rows.Count, 1).End(xlUp).Row
If C.Value = Me.Cells(N, 1).Offset(0, 2).Value Then
tf = True
C.Value = Me.Cells(N, 1).Value
C.Font.ColorIndex = Me.Cells(N, 1).Offset(0, 1).Value
C.Interior.ColorIndex = Me.Cells(N, 1).Offset(0, 2).Value
Exit For
End If
Next N
Next C
Application.ScreenUpdating = True
End If
End If
End Sub