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, DDébPrix As Date
ReDim TRés(1 To 100000, 1 To 6)
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)
DDébPrix = Détail(3)
Else
L = L + 1
TRés(L, 1) = Ref.ID
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
TRés(L, 6) = DDébPrix
End If
Next Détail, Dat, Ref
'L = L + 1: TRés(L, 2) = "Total :": TRés(L, 5) = TotRéf
'Next Ref
Me.[A3].Resize(100000, 6).Value = TRés
Range("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub