Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 4 Or Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
Dim ref As Range, lig As Variant
Set ref = Target.Offset(, -1)
If IsEmpty(ref) Then
MsgBox "Vous devez d'abord renseigner la colonne C !", 48
ref.Select
Target = ""
Exit Sub
End If
If Not IsNumeric(Target) Then
Target = ""
Target.Select
Exit Sub
End If
With Workbooks("A.xls").Sheets("Feuil1") ' noms à adapter
lig = Application.Match(ref, .Columns("A"), 0)
If IsNumeric(lig) Then .Cells(lig, "B") = .Cells(lig, "B") + Target
End With
End Sub