bonjour,
pour garder les données s'il manque des données "partants"
Sub aargh()
With ActiveSheet
Set dict = CreateObject("scripting.dictionary")
dl = .Cells(.Rows.CountLarge, 1).End(xlUp).Row
dc = .UsedRange.Columns.Count
For i = 2 To dl
If .Cells(i, 3) <> "" Then
If swv = True Then swv = False: dict.RemoveAll
dict.Add .Cells(i, 2).Value & .Cells(i, 4).Value, i
Else
If swv = False Then swv = True
cle = .Cells(i, 2).Value & .Cells(i, 4)
If dict.exists(cle) Then
.Range(.Cells(i, "J"), .Cells(i, dc)).Copy .Cells(dict(cle), "J")
.Cells(i, 3) = ""
Else
.Cells(i, 3) = "&"
End If
End If
Next i
.Cells(1, 3).Resize(dl, 1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete shift:=xlUp
.Cells(1, 3).Resize(dl, 1).Replace "&", "", lookat:=xlWhole
End With
End Sub