Bonjour,
Je fais à nouveau appel à vous car je bloque sur un point.
Je travaille sur un fichier VBA qui doit créer un graphique dynamique et mettre en forme des données mois par mois depuis le début de l'année. Ce graphique sera sorti tous les débuts de mois et je souhaite par défaut que ma macro filtre sur les 3 derniers mois en fonction du mois en cours.
Exemple : pour la sortie de ce graphique début Septembre, je souhaite filtrer uniquement sur les mois de Juin, Juillet et Août.
Actuellement mes données mois sont présentées sous forme de chaîne de caractères (ex : Août, Septembre...) et j'utilise le code suivant pour afficher les mois que je souhaite afficher :
Sauf que ce code n'est actuellement pas dynamique et lorsqu'on va passer en Octobre et ben ça ne fonctionnera plus...
J'ai déclaré une variable pour récupérer le mois en cours en lettre mais ensuite je ne vois pas comment faire pour récupérer les valeurs des 3 derniers mois qui sont donc Juin, Juillet et Août pour ce mois ci.
Après il faut mettre en place une condition mais c'est la que je sèche.
Pouvez-vous me dire comment est ce que je peux faire pour arriver à ce que je souhaite mettre en place.
Merci de votre aide.
Cordialement,
Je fais à nouveau appel à vous car je bloque sur un point.
Je travaille sur un fichier VBA qui doit créer un graphique dynamique et mettre en forme des données mois par mois depuis le début de l'année. Ce graphique sera sorti tous les débuts de mois et je souhaite par défaut que ma macro filtre sur les 3 derniers mois en fonction du mois en cours.
Exemple : pour la sortie de ce graphique début Septembre, je souhaite filtrer uniquement sur les mois de Juin, Juillet et Août.
Actuellement mes données mois sont présentées sous forme de chaîne de caractères (ex : Août, Septembre...) et j'utilise le code suivant pour afficher les mois que je souhaite afficher :
VB:
With ActiveSheet.PivotTables("TCD_CONSO_SUIVI_CONSO_ANNUEL").PivotFields( _
"Mois ")
.PivotItems("janvier").Visible = False
.PivotItems("février").Visible = False
.PivotItems("mars").Visible = False
.PivotItems("avril").Visible = False
.PivotItems("mai").Visible = False
.PivotItems("juin").Visible = True
.PivotItems("juillet").Visible = True
.PivotItems("août").Visible = True
'.PivotItems("septembre").Visible = False
'.PivotItems("octobre").Visible = False
'.PivotItems("novembre").Visible = False
'.PivotItems("décembre").Visible = False
End With
Sauf que ce code n'est actuellement pas dynamique et lorsqu'on va passer en Octobre et ben ça ne fonctionnera plus...
J'ai déclaré une variable pour récupérer le mois en cours en lettre mais ensuite je ne vois pas comment faire pour récupérer les valeurs des 3 derniers mois qui sont donc Juin, Juillet et Août pour ce mois ci.
VB:
Dim Mois_En_Cours As String
Mois_En_Cours = Format(Now, "mmmm")
Après il faut mettre en place une condition mais c'est la que je sèche.
Pouvez-vous me dire comment est ce que je peux faire pour arriver à ce que je souhaite mettre en place.
Merci de votre aide.
Cordialement,