Sub Regroupe()
Application.ScreenUpdating = False
Dim c As Range
Dim Lig As Long, i As Long, j As Long, k As Long
Lig = Range("A65536").End(xlUp).Row
'On passe les cellules de la colonne C en format Standard
For Each c In Range("C4:C" & Lig)
c.Value = c.Value
Next c
'Tri sur colonne A puis C
Range("A4:P" & Lig).Sort Key1:=[A4], Key2:=[C4]
For i = Lig To 4 Step -1
'On compare la colonne A ET la colonne C
'Si Ai = Ai-1 ET Ci = Ci-1
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 3) = Cells(i - 1, 3) Then
'De la colonne D à la colonne O
For j = 4 To 15
'Si la cellule contient une valeur
If Cells(i, j) <> "" Then
'On fait un coupé-collé de Ci sur Ci-1
Cells(i, j).Cut Destination:=Cells(i - 1, j)
End If
'Colonne suivante
Next j
End If
'Ligne suivante
Next i
'Recalcul de la colonne P
Range("P4:P" & Lig).FormulaR1C1 = "=SUM(RC4:RC15)"
Range("P4:P" & Lig) = Range("P4:P" & Lig).Value
'Suppression des lignes
For k = 4 To Lig
If Application.WorksheetFunction.CountA(Rows(k)) = 4 Then Rows(k).Delete
Next k
End Sub