Public Sub GrouperELEC3()
Dim PlgSrc As Range, AnMin&, AnMax&, Tbl(), N&, L&, _
Dpt As SsGroup, Src As SsGroup, Id As SsGroup, An As SsGroup, Som#, Détail, LePremId()
Set PlgSrc = PlgUti(Feuil1.Rows(5))
AnMin = WorksheetFunction.Min(PlgSrc.Columns(15))
AnMax = WorksheetFunction.Max(PlgSrc.Columns(15))
ReDim Tbl(1 To 1000, 1 To AnMax - AnMin + 7)
Tbl(1, 1) = "DPT": Tbl(1, 2) = "SRC": Tbl(1, 3) = "ID": Tbl(1, 4) = "SIT": Tbl(1, 5) = "PER": Tbl(1, 6) = "LIB"
For N = AnMin To AnMax: Tbl(1, N - AnMin + 7) = N: Next N
L = 1
For Each Dpt In GroupOrg(PlgSrc, 1, 10, 3, 15)
L = L + 1: Tbl(L, 1) = "Département " & Dpt.Id
For Each Src In Dpt.Contenu
L = L + 1: Tbl(L, 2) = "Source " & Src.Id
For Each Id In Src.Contenu
LePremId = Id.Contenu(1).Contenu(1)
L = L + 1
' Tbl(L, 1) = Dpt.Id
' Tbl(L, 2) = Src.Id
Tbl(L, 3) = Id.Id
Tbl(L, 4) = LePremId(2)
Tbl(L, 5) = LePremId(4)
Tbl(L, 6) = LePremId(5)
For Each An In Id.Contenu
Som = 0
For Each Détail In An.Contenu
Som = Som + Détail(14): Next Détail
Tbl(L, An.Id - AnMin + 7) = Som: Next An
Next Id, Src, Dpt
Feuil2.[A4].Resize(1000, 20).ClearContents
Feuil2.[A4].Resize(L, UBound(Tbl, 2)) = Tbl
End Sub