1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
   |  
Private Sub Worksheet_Activate()
 
    Dim M As Long, Plg As Range, Te(), Le&, Ts(), Ls&, _
    Données As Collection, Nom As SsGroup, Prénom As SsGroup, _
    Mois As SsGroup, TotJ As Double, Détail
 
    ReDim Ts(1 To 2000, 1 To 4)
 
    For M = 1 To 12
 
       Set Plg = ColUti(Worksheets(M).[A4:H4]) '<-- modifié ici !
 
       If Not Plg Is Nothing Then
 
            Te = Plg.Value
 
            For Le = 1 To UBound(Te)
 
                If Te(Le, 5) = 9 Or Te(Le, 5) = 10 Then
 
                    Ls = Ls + 1
 
                    Ts(Ls, 1) = Te(Le, 1)
                    Ts(Ls, 2) = Te(Le, 2)
                    Ts(Ls, 3) = Te(Le, 8) '<-- midifié ici !
 
                    Ts(Ls, 4) = M
 
                End If
 
            Next Le
 
        End If
 
    Next M
 
    If Ls = 0 Then Exit Sub
 
    MClassement.DernièreLigneIdx = Ls
 
    Set Données = GroupOrg(Ts, 1, 2, 4)
 
    Ls = 0
 
    For Each Nom In Données: Ls = Ls + Nom.Count: Next Nom
 
    ReDim Ts(1 To Ls, 1 To 18)
 
    Ls = 0
    For Each Nom In Données
 
        For Each Prénom In Nom.Contenu
 
            Ls = Ls + 1
 
            Ts(Ls, 1) = Nom.Id
            Ts(Ls, 2) = Prénom.Id
 
            For Each Mois In Prénom.Contenu
 
                TotJ = 0
 
                For Each Détail In Mois.Contenu
 
                    TotJ = TotJ + Détail(3)
 
                If TotJ > 0 Then Ts(Ls, Mois.Id + 2) = TotJ
 
    Next Détail, Mois, Prénom, Nom
 
    ValPlgAju(Me.[Résultat]) = Ts
 
    Me.[Résultat].RowHeight = 24
 
End Sub |