Option Explicit
Private Sub Worksheet_Activate()
Dim TSvg(), LS As Long, TRés(), LR As Long, M As Long 'Ligne de déclaration
Sauvegarde
TSvg = [TabSvg].Value: LS = 1 ' Attribue une valeur dans le tableau TabSvg dan sla feuille Sauvegarde Le LS je ne comprends pas
ReDim TRés(1 To UBound(TSvg, 1) \ 28, 1 To 4) 'ici on recupère les valeurs du tableau enfin je pense le Trés je ne sais pas trop à quoi cela correspond
Do ' Début mois
LR = LR + 1: TRés(LR, 1) = Year(TSvg(LS, 1)): TRés(LR, 2) = TSvg(LS, 1)
M = Year(TSvg(LS, 1)) * 12 + Month(TSvg(LS, 1))
Do ' Détail jour
TRés(LR, 3) = TRés(LR, 3) + TSvg(LS, 3) - TSvg(LS, 2) + TSvg(LS, 5) - TSvg(LS, 4)
TRés(LR, 4) = TRés(LR, 4) + TSvg(LS, 6)
LS = LS + 1: If LS > UBound(TSvg, 1) Then Exit Do ' Incrément ligne et sortie si dépasse dim tableau
Loop Until Year(TSvg(LS, 1)) * 12 + Month(TSvg(LS, 1)) > M ' Fin mois
Loop Until LS > UBound(TSvg, 1) ' Fin tableau
Me.ListObjects(1).DataBodyRange.Resize(LR).Value = TRés 'Cela doit être ce à quoi correspond Trés. Je pense que cela sert à ajouter une ligne au tableau
End Sub