Hello tuany,
Ton PB est-il toujours d'actualité ? Au cas où, voici quelques éléments. Faute de réponse, je suppose que tes données glissent vraiment, comme dans le cas 1 ci-dessus.
Dans mon exemple, je suppose que les noms (ou numéros) de mois qui servent d'étiquettes sur l'axe horizontal sont en ligne 1, et les données correspondantes en ligne 2.
Au changement de mois, le graphique doit utiliser de nouvelles colonnes pour glisser. Dans les macros ci-dessous, ColDeb est la nouvelle colonne de début, ColFin la nouvelle colonne de fin. Tu dois être capable de les calculer par la macro de lancement.
Je montre 2 cas :
- le graphique se trouve dans une feuille graphique différente de la feuille de données (macro Glisse_1)
- le graphique se trouve dans la feuille de calcul elle-même (macro Glisse_2).
(Dans la macro de lancement, appelle la bonne macro).
Adapte à ton cas personnel.
Sub Lancement()
Dim ColDeb As Integer, ColFin As Integer
ColDeb = 2 ' nouvelle colonne de début
ColFin = 13 ' nouvelle colonne de fin
Call Glisse(ColDeb, ColFin)
End Sub
Sub Glisse_1(ColDeb, ColFin) ' graphique dans feuille graphique séparée
With Charts("Graph1")
.SeriesCollection(1).XValues = "=Feuil1!R1C" & ColDeb & ":R1C" & ColFin
.SeriesCollection(1).Values = "=Feuil1!R2C" & ColDeb & ":R2C" & ColFin
End With
End Sub
Sub Glisse_2(ColDeb, ColFin) ' graphique dans même feuille de calcul
Sheets("Feuil1").Activate
ActiveSheet.ChartObjects("Graphique 1").Activate
With ActiveChart
.SeriesCollection(1).XValues = "=Feuil1!R1C" & ColDeb & ":R1C" & ColFin
.SeriesCollection(1).Values = "=Feuil1!R2C" & ColDeb & ":R2C" & ColFin
End With
End Sub