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
|
Dim premdate As Date
Dim derndate As Date
Dim ligne_valeur As Long
ligne_valeur = 24
Dim Plage_mois_valeur As Range
Dim dernligne As Long
Dim Plage_date_valeur As Range
Dim Plage_valeur As Range
Dim datevar As Date 'Variable de la boucle for
Dim Mois_Calcul_valeur As Long
Dim Annee_Calcul_valeur As Long
Dim mois_valeur As Long
Dim annee_valeur As Long
''''''''''''''''''''Définition de la plage pour contabiliser les valeurs''''''
premdate = Sheets("Data 1").Cells(2, 1).Value
Sheets("Bilan").Activate
derndate = Date 'Ici par défaut, le dernier mois considéré est le mois actuel, à partir de la date d'aujourd'hui
''''''''''''''''''''' Mise en place de la plage des mois'''''''''''''''''''''
Do While premdate < derndate
Cells(rang_valeur, 1).Value = premdate
Cells(rang_valeur, 1).NumberFormat = "mm/yyyy"
rang_valeur= rang_valeur+ 1
premdate = premdate + DateAdd("m", 1, 0)
Loop
With Worksheets("Bilan")
Set Plage_mois_valeur = .Range(.Cells(24, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
premdate = Sheets("Data 1").Cells(2, 1).Value 'On remet la date à la valeur initiale après avoir comptabilisé les mois
''''''''''''''''''''Définition de la plage des jours_DJU et des DJU_18 calculés'''''''''''''
Sheets("Calcul de Valeur").Activate
Range("A2").End(xlDown).Select
dernligne = ActiveCell.Row
With Worksheets("Calcul de Valeur")
Set Plage_date_valeur = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
Set Plage_valeur = .Range(.Cells(2, 2), .Cells(dernligne, 2))
End With
'''''''''''''''''''''''''''''''''' Boucle de calcul pour les valeurs par mois''''''''''''
For datevar = premdate To derndate
Mois_Calcul_valeur = Month(datevar) 'Correspondant aux dates des cellules pour le calcul journalier
Annee_Calcul_valeur = Year(datevar)
For Each Cel In Plage_mois_valeur
mois_valeur = Month(Cel) 'Correspondat aux dates des mois à comptabiliser
annee_valeur = Year(Cel)
Cel.Offset(0, 1).Value = WorksheetFunction.SumIfs(Plage_valeur, Plage_date_valeur, mois_valeur = Mois_Calcul_valeur, Plage_date_valeur, annee_valeur = Annee_Calcul_valeur)
Next
Next datevar |
Partager