Sub X()
Dim TEAN(), DicEAN As New Dictionary
Dim TRés(1 To 20000, 1 To 12), L As Long, C As Long, EAN As SsGr, Année As SsGr, Détail
TEAN = Feuil2.[A7].Resize(Feuil2.[A1000].End(xlUp).Row - 6).Value
For L = 1 To UBound(TEAN, 1): DicEAN(TEAN(L, 1)) = Empty: Next L
L = 1
For C = 1 To 12: TRés(1, C) = Choose(C, "EAN", "Année", "Prospectus", "Mécanique", "Montant", _
"Vol global", "Vol XP", "Vol CT", "Vol SM", "Vol HM", "CA", "Taux destr"): Next C
For Each EAN In Gigogne(Feuil1.[A2:CY2], 1, -3, Null, 4)
If DicEAN.Exists(EAN.Id) Then
TRés(L + 1, 1) = EAN.Id
For Each Année In EAN.Co
TRés(L + 1, 2) = Année.Id
For Each Détail In Année.Co
L = L + 1
For C = 3 To 12
TRés(L, C) = Détail(Choose(C - 2, 4, 82, 83, 55, 100, 101, 102, 103, 54, 57))
Next C, Détail, Année: End If
Next EAN
Feuil2.[C9].Resize(20000, 12).Value = TRés
End Sub