|
|
|
|
Hello tuany,
Juste une question : est-ce que tes mois glissent vraiment (1er exemple ci-dessous : on ajoute une nouvelle colonne chaque mois), ou tournes-tu toujours sur les mêmes 12 mois (mars 2005 ré-occupe la place de mars 2004) ? Mois 02 03 04 05 06 07 08 09 10 11 12 |01 02 03 Données 5 6 7 2 5 6 1 3 5 7 2 | 6 3 1 <----------------------------------|---------> 2004 | 2005 Ou bien Mois 01 02 03 04 05 06 07 08 09 10 11 12 Données 6 3 1 7 2 5 6 1 3 5 7 2 <--------> <--------------------------------> 2005 2004
|
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 |
mes données sont du type
Mois 02 03 04 05 06 07 08 09 10 11 12 |01 02 03 Données 1 2 3 4 5 6 7 8 9 10 11 |12 13 14 <-------------------------------------------|---------> 2004 | 2005 cad une feuille historique regroupant les données, je voulai savoir o cas ou on peu utiliser une fonction excel , c'est au cas ou quelqu'un d'autre que moi souhaite faire une modification. merci beaucoup pour ta macro :) |