Private Sub Worksheet_Change(ByVal Target As Range)
Dim lig As Long, Cel As Range, Plg As Range, maplage As Range, dl As Long
dl = Me.Range("A" & Rows.Count).End(xlUp).Row
Set maplage = Me.Range("A1:D" & dl)
If Intersect(Target, maplage) Is Nothing Then Exit Sub
Set Plg = Intersect(Target, maplage)
On Error Resume Next
For Each Cel In Plg
With ThisWorkbook.Sheets("BASE")
Err.Clear
'
' Si le produit n'est pas trouvé, une erreur sera levée
lig = .Columns(4).Find(Me.Range("A" & Cel.Row), lookat:=xlWhole).Row
If Err > 0 Then
Me.Range("E" & Cel.Row) = "Produit non trouvé dans la feuille BASE"
Else
.Range("F" & lig) = Me.Range("C" & Cel.Row)
.Range("G" & lig) = Me.Range("D" & Cel.Row)
.Range("H" & lig) = Date
End If
End With
Next
On Error GoTo 0
End Sub