re,
à tester,
Sub Test1()
Set sh1 = Sheets("Source")
Set sh2 = Sheets("Feuil1")
rw2 = sh2.Cells(Rows.Count, "A").End(xlUp).Row - 1
For n = 9 To rw2
If sh2.Cells(n, "A") <> "" Then
If Not IsError(Application.Match(sh2.Cells(n, "B"), sh1.Range("A:A"), 0)) Then
lig = Application.Match(sh2.Cells(n, "B"), sh1.Range("A:A"), 0)
sh1.Cells(lig, "D") = Application.Sum(sh2.Cells(n, "E").Value + sh2.Cells(n, "F").Value)
sh1.Cells(lig, "E") = sh2.Cells(n, "A").Value
Else
rw1 = sh1.Cells(Rows.Count, "A").End(xlUp).Row + 1
sh1.Cells(rw1, "A") = sh2.Cells(n, "B").Value
'attention : ne gère pas les noms composés qui sont séparé par un espace
nom = Split(sh2.Cells(n, "C").Value, " ")
sh1.Cells(rw1, "B") = nom(0)
sh1.Cells(rw1, "C") = nom(1)
sh1.Cells(rw1, "D") = Application.Sum(sh2.Cells(n, "E").Value + sh2.Cells(n, "F").Value)
sh1.Cells(rw1, "E") = sh2.Cells(n, "A").Value
End If
End If
Next n
End Sub