Sub RecapParTrchAge_v2()
Dim DicTit As Dictionary, L As Long, C As Long, TRés(1 To 500, 1 To 25), _
Dpt As SsGr, Serv As SsGr, Site As SsGr, Eqp As SsGr, Age As SsGr, Détail
'Recherche les entetes des colonnes pour identifier le numero de la colonne.
Dim nC_BUD&, nC_PHASE&, nC_LibEQP&, nC_ETAT&, nC_DPT&, nC_SERV&, nC_SITE&, nC_EQP&, nC_AN&, nC_AGE&
Dim LOt As ListObject
Set LOt = FDonn.ListObjects(1)
nC_BUD = NColTab(LOt, "BUD")
nC_PHASE = NColTab(LOt, "PHASE")
nC_LibEQP = NColTab(LOt, "Lib EQP")
nC_DPT = NColTab(LOt, "DPT")
nC_SERV = NColTab(LOt, "SERV")
nC_SITE = NColTab(LOt, "SITE")
nC_EQP = NColTab(LOt, "EQP")
nC_ETAT = NColTab(LOt, "ETAT")
nC_AN = NColTab(LOt, "AN")
nC_AGE = NColTab(LOt, "AGE")
'Set DicTit = GigIdx.DicInvent(LOt, nC_PHASE, 7)
'Set DicTit = GigIdx.DicInvent(LOt, nC_AGE, 7)
L = 1
For C = 1 To 6: TRés(L, C) = Choose(C, "DPT", "SERV", "SITE", "EQP", "Lib EQP"): Next C
'VerserEntêtes TRés, DicTit
For C = 1 To 5: TRés(1, C + 6) = "'" & Choose(C, "0-5", "6-10", "11-20", "21-30", ">=31"): Next C
'VerserTitres TRés, DicTit
For Each Dpt In GigIdx.Gigogne(LOt, nC_DPT, nC_SERV, nC_SITE, nC_EQP)
For Each Serv In Dpt.Co
For Each Site In Serv.Co
For Each Eqp In Site.Co
L = L + 1
TRés(L, 1) = Dpt.ID
TRés(L, 2) = Serv.ID
TRés(L, 3) = Site.ID
TRés(L, 4) = Eqp.ID
TRés(L, 5) = Eqp.Co(1)(nC_LibEQP)
For Each Détail In Eqp.Co
' TRés(L, DicTit(Détail(nC_PHASE))) = Détail(nC_ETAT)
' TRés(L, DicTit(Détail(nC_AGE))) = Détail(nC_BUD)
Select Case Détail(nC_AGE)
Case Is >= 31: C = 11
Case Is >= 21: C = 10
Case Is >= 11: C = 9
Case Is >= 6: C = 8
Case Else: C = 7: End Select
TRés(L, C) = TRés(L, C) + Détail(nC_BUD)
Next Détail, Eqp, Site, Serv, Dpt
FDonn.[A50].Resize(500, 25).Value = TRés
End Sub