Bonjour
Code à essayer en rajouter une variable dcol qui repère la dernière colonne dans votre feuille Test.
Sub test()
Dim sh1 As Worksheet, sh2 As Worksheet
Dim rw1 As Integer, rw2 As Integer, i As Integer
Dim ligne As Integer, col As Integer, dcol As Integer
Dim plgdest, plgorig
Set sh1 = Sheets("test")
Set sh2 = Sheets("résultat")
rw1 = sh1.Cells(Rows.Count, 1).End(xlUp).Row
rw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
dcol = sh1.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 2 To rw1
If Application.CountIf(sh2.Range("A:A"), sh1.Cells(i, "A")) = 0 Then
sh2.Range(sh2.Cells(rw2, 1), sh2.Cells(rw2, dcol)) = sh1.Range("A" & i & ":G" & i).Value
rw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
Else
ligne = Application.Match(sh1.Cells(i, "A"), sh2.Range("A:A"), 0)
col = sh2.Cells(ligne, Columns.Count).End(xlToLeft).Column + 1
plgdest = Range(Cells(ligne, col).Address, Cells(ligne, dcol + col - 2).Address).Address
plgorig = Range(Cells(i, 2), Cells(i, dcol)).Address
sh2.Range(plgdest) = sh1.Range(plgorig).Value
rw2 = sh2.Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
Next i
sh2.Activate
End Sub
Cordialement