Remplissage tableau données mensuelles
Bonjour,
Je rencontre la problématique suivante : J'ai un tableau de suivi de budgets qui contient 31 feuilles. Chaque feuilles reprend le budget mensuel d'un produit. Dans chaque feuille je vais chercher 3 données YTD / YTD N-1 et LTM sur un fichier dans un répertoire spécifique. Pour des raisons pratiques, le nom fichier ou se trouve mes données est toujours le même. Le fichier est donc écrasé chaque mois.
Je suis en train de créer une macro qui permet de venir remplir automatiquement mon fichier en fonction du mois en cours.
Afin de pouvoir intervenir uniquement sur le mois en cours, je travail avec la fonction If. Ceci va m'obliger à dupliquer ma macro, qui par ailleurs est appliqué à toutes les feuilles de mon classeur (sauf les deux premières), 12 fois avec une succession de If.
Voici ci-dessous ma macro pour "Déc. 2016" et "Nov. 2016". Pourriez vous m'indiquer s'il n'y a pas un moyen plus simple ?
En vous remerciant,
'Copie les valeurs YTD YTDN-1 et LTM du mois en fonction du mois indiqué en J29
Sub copie_valeur_YTD_du_mois()
'selectionner toutes les feuilles sauf Budget_total et synthèse
Dim ws As Worksheet
Sheets(Array("Budget_total", "Synthèse")).Select
Application.ScreenUpdating = False
For Each ws In ActiveWorkbook.Worksheets
ws.Activate
'macro
'mois décembre
'valeur du mois
If Range("J29").Value = "Déc. 2016" Then
Range("I30").Copy
' Copie du YTD du mois ds tableau
Range("K14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I31").Copy
'Copie YTD N-1 du mois ds tableau
Range("N14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I32").Copy
'Copie LTM du mois ds tableau
Range("P14").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
'mois novembre
'valeur du mois
If Range("J29").Value = "Nov. 2016" Then
Range("I30").Copy
' Copie du YTD du mois ds tableau
Range("K13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I31").Copy
'Copie YTD N-1 du mois ds tableau
Range("N13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("I32").Copy
'Copie LTM du mois ds tableau
Range("P13").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next ws
End Sub