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
| Sub Conso_Mensuel()
Dim Year, YearPrecedent As Integer
Dim Feuille_Index, Feuille_IndexPrecedent As Worksheet
Dim IndexJanvier, IndexFevrier, IndexMars, IndexAvril, IndexMai, IndexJuin As Single
Dim IndexJuillet, IndexAout, IndexSeptembre, IndexOctobre, IndexNovembre, IndexDecembre As Single
Dim ConsoJanvier, ConsoFevrier, ConsoMars, ConsoAvril, ConsoMai, ConsoJuin As Single
Dim ConsoJuillet, ConsoAout, ConsoSeptembre, ConsoOctobre, ConsoNovembre, ConsoDecembre As Single
' ATTENTION ! Les feuilles sont définies dans le module A_Variables_Globales !!!
Call Attrib_Variables
'Attribution d'une variable à la feuille de destination
'L'année affichée par défaut est l'année indiquée dans l'inputbox, elle peut être modifiée
Year = Application.InputBox("Quelle année d'export ?", , "2015", , , , "Saisie numérique", Type:=1)
'Year = 2015 'sert à tester le pas à pas
YearPrecedent = Year - 1
Set Feuille_Index = Sheets("Conso " & Year)
' Recherche de la dernière cellule non vide de la feuille de destination
Feuille_Index.Activate
FinalRow = Feuille_Index.Cells(Rows.Count, 1).End(xlUp).Row
' Recherche à partir de la ligne (ici 3) jusqu'à la dernière cellule non vide
For x = 3 To FinalRow
' Données initiales
IndexJanvier = Feuille_Index.Cells(x, 4).Value
IndexFevrier = Feuille_Index.Cells(x, 5).Value
IndexMars = Feuille_Index.Cells(x, 6).Value
IndexAvril = Feuille_Index.Cells(x, 7).Value
IndexMai = Feuille_Index.Cells(x, 8).Value
IndexJuin = Feuille_Index.Cells(x, 9).Value
IndexJuillet = Feuille_Index.Cells(x, 10).Value
IndexAout = Feuille_Index.Cells(x, 11).Value
IndexSeptembre = Feuille_Index.Cells(x, 12).Value
IndexOctobre = Feuille_Index.Cells(x, 13).Value
IndexNovembre = Feuille_Index.Cells(x, 14).Value
IndexDecembre = Feuille_Index.Cells(x, 15).Value
' Données à calculer
ConsoJanvier = Feuille_Index.Cells(x, 16)
ConsoFevrier = Feuille_Index.Cells(x, 17)
ConsoMars = Feuille_Index.Cells(x, 18)
ConsoAvril = Feuille_Index.Cells(x, 19)
ConsoMai = Feuille_Index.Cells(x, 20)
ConsoJuin = Feuille_Index.Cells(x, 21)
ConsoJuillet = Feuille_Index.Cells(x, 22)
ConsoAout = Feuille_Index.Cells(x, 23)
ConsoSeptembre = Feuille_Index.Cells(x, 24)
ConsoOctobre = Feuille_Index.Cells(x, 25)
ConsoNovembre = Feuille_Index.Cells(x, 26)
ConsoDecembre = Feuille_Index.Cells(x, 27)
'Vérifie si la feuille contenant les index de l'année précédente existe
'FeuilleExiste est une fonction public qui est stockée dans le module Variables_Globales
If FeuilleExiste("Conso " & Year - 1) = True Then
Set Feuille_IndexPrecedent = Sheets("Conso " & YearPrecedent)
IndexDecembrePrec = Feuille_IndexPrecedent.Cells(x, 15).Value
ConsoJanvier = IndexJanvier - IndexDecembrePrec
End If
ConsoJanvier = 0 'Cette ligne ne sécrit pas
ConsoFevrier = IndexFevrier - IndexJanvier 'Cette ligne ne s'écrit pas non plus
'Macro à continuer quand cela fonctionnera au-dessus
Next x
End Sub |
Partager