Option Explicit
Sub Synthèse()
Dim Client As SsGr, Article As SsGr, TRés(), L As Long, Détail
ReDim TRés(1 To 5000, 1 To 4)
For Each Client In Gigogne(TableUnique(WshLivr, WshRetour), 3, 1)
L = L + 1: TRés(L, 1) = Client.Id
For Each Article In Client.co
L = L + 1
TRés(L, 2) = Article.Id
For Each Détail In Article.co
If Détail(0) = 0 Then
TRés(L, 3) = TRés(L, 3) + Détail(4)
Else
TRés(L, 4) = TRés(L, 4) + Détail(2)
End If: Next Détail, Article, Client
WshSynth.[A2].Resize(L, 4).Value = TRés
End Sub