Private Sub Worksheet_Activate()
Dim TR(), RefArt As SsGr, DsgnArticle As String, Emplac As SsGr, _
LR As Long, TypMvt As SsGr, Détail
ReDim TR(1 To 100000, 1 To 5) 'Définition de TR (ligne 1 à 100000 sur les 5 premières colonnes
For Each RefArt In Gigogne(WshSuivES, 1, 9, 5) 'définition des colonnes pour chaque article (réf, emplacement, mouvement)
DsgnArticle = RefArt.Co(1).Co(1).Co(1)(2) ' Colonne 2 de la _
1ère ligne détail du 1er TypMvt du 1er Emplac de l'article.
For Each Emplac In RefArt.Co 'Si je comprend bien tu viens récupérer les infos de chaque emplacement dans définition RefArt.co (qui correspond à la premiere ligne de chaque article de chaque emplacement et de chaque mouvement
LR = LR + 1 ' ??? je ne comprend pas ce que cela signifie
TR(LR, 1) = RefArt.Id 'Placement en colonne 1 la réf article
TR(LR, 2) = DsgnArticle 'placement en colonne 2 la désignation article
TR(LR, 4) = Emplac.Id ' placement en colonne 4 l'emplacement
For Each TypMvt In Emplac.Co 'Et que pour chaque type de mouvement dans chaque emplacement tu selectionnes la case mouvement et
Select Case TypMvt.Id 'selectionner la case mouvement
Case "Entrée": TR(LR, 3) = TR(LR, 3) + TypMvt.Somme(8) 'si mouvement entrée ajout quantité à l'empalcement
Case "Réservé": TR(LR, 3) = TR(LR, 3) + TypMvt.Somme(8) 'si mouvement reservé ajout quantité à l'empalcement
Case "Sortie": TR(LR, 3) = TR(LR, 3) - TypMvt.Somme(8) 'si mouvement sortie reduction quantité à l'empalcement
End Select 'fin de la selection
For Each Détail In TypMvt.Co '???
If Not IsEmpty(Détail(10)) Then TR(LR, 5) = Détail(10) '????
Next Détail, TypMvt, Emplac, RefArt
Me.Rows(2).Resize(100000).Delete
Me.[A2].Resize(LR, 5).Value = TR
End Sub