Option Explicit
Private Sub Worksheet_Activate()
Dim Ref As SsGr, Dat As SsGr, Détail, TRés(), L, LDéb, PrixU As Currency, Montant As Currency, TotRéf As Currency
ReDim TRés(1 To 5000, 1 To 5)
L = -1
For Each Ref In Gigogne(TableUnique(Feuil1.[A2], Feuil2.[A2]), 1, 3)
L = L + 1: TRés(L + 1, 1) = Ref.Id: TotRéf = 0
For Each Dat In Ref.Co
For Each Détail In Dat.Co
If Détail(0) = 0 Then
PrixU = Détail(2)
Else
L = L + 1
TRés(L, 2) = Dat.Id
TRés(L, 3) = Détail(2)
TRés(L, 4) = PrixU
Montant = Détail(2) * PrixU
TRés(L, 5) = Montant
TotRéf = TotRéf + Montant
End If
Next Détail, Dat
L = L + 1: TRés(L, 2) = "Total :": TRés(L, 5) = TotRéf
Next Ref
Me.[A7].Resize(5000, 5).Value = TRés
End Sub