Private Sub Worksheet_Activate()
Dim Données As Collection, TR(), LR&, RefCmd As SsGr, Détail, PremièreLigne As Boolean
Set Données = Gigogne(TableUnique(Me.ListObjects(1), WshSuivES), 1)
ReDim TR(1 To Données.Count, 1 To 5)
For Each RefArt In Données
LR = LR + 1
TR(LR, 1) = RefArt.Id ' Identification de l'article
PremièreLigne = True
For Each Détail In RefArt.Co
If Détail(5) = "Entrée" Then T(L, 3) = T(L, 3) + Détail(8) Else T(L, 3) = T(L, 3) - Détail(8)
'(5) colonne mouvement de la base mouvement, (8) colonne qte de la base mouvement
End If
End Sub
Set Données = Gigogne(TableUnique(Me.ListObjects(1), WshSuivES), 1)
Set Données = Gigogne(Me.ListObjects(1), WshSuivEs), 1)
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)
For Each RefArt In Gigogne(WshSuivES, 1, 9, 5)
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
LR = LR + 1
TR(LR, 1) = RefArt.Id
TR(LR, 2) = DsgnArticle
TR(LR, 4) = Emplac.Id
For Each TypMvt In Emplac.Co
Select Case TypMvt.Id
Case "Entrée": TR(LR, 3) = TR(LR, 3) + TypMvt.Somme(8)
Case "Sortie": TR(LR, 3) = TR(LR, 3) - TypMvt.Somme(8)
End Select
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
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
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 de classement et regroupements (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 ' Pour chaque SsGr d'emplacement de l'article
LR = LR + 1 ' Nouvelle ligne résultante (Incrémente le numéro de ligne du tableau dans lequel on écrit).
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 'Pour chaque type de mouvement de cet emplacement
Select Case TypMvt.Id 'Selon cas du type de mouvement
Case "Entrée": TR(LR, 3) = TR(LR, 3) + TypMvt.Somme(8) 'Cas mouvement entrée: ajout somme des quantités des lignes détail
Case "Réservé": TR(LR, 3) = TR(LR, 3) + TypMvt.Somme(8) 'Cas mouvement réservé: ajout somme des quantités des lignes détail
Case "Sortie": TR(LR, 3) = TR(LR, 3) - TypMvt.Somme(8) 'Cas mouvement sortie: retrait somme des quantités des lignes détail
End Select 'Fin de bloc selon cas.
For Each Détail In TypMvt.Co 'Pour chaque ligne détail contenue dans ce type de mouvement
If Not IsEmpty(Détail(10)) Then TR(LR, 5) = Détail(10) 'Si la remarque n'est pas vide elle est placée en colonne 5
Next Détail, TypMvt, Emplac, RefArt
Me.Rows(2).Resize(100000).Delete
Me.[A2].Resize(LR, 5).Value = TR
End Sub
ReDim TR(1 To WshSuivES.ListObjects(1).ListRows.Count, 1 To 5)