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 |
Partager