Problème macro graphiques

Bonjour,

Dans le cadre de mon travail, j'utilise une application qui me sort sous excel toute une série de graphiques, ainsi que les données relatives.

Seulement, le format du graphique rendu ne me plait pas. J'ai donc créé une macro afin de formater chaque graphique dans le format voulu. A noter : il y a 1 graphique par onglet, avec dans l'onglet suivant à droite, les données brutes. Dans le cas présent, j'ai 30 graphiques à modifier.

Cependant, j'ai un souci car, lorsque j'execute la macro sur le graphique n°2 par exemple, il garde les données brutes du graphique n°1, celui que j'ai utilisé pour créer la macro

Si j'ai bien compris (c'est la première fois que je fais une macro....), j'ai un souci à cette ligne :

ActiveChart.SetSourceData Source:=Sheets("Q42").Range("A7:I7,A9:I9"), PlotBy _

:=xlColumns

En effet, je ne souhaite pas qu'il utilise comme data source l'onglet "Q42", mais l'onglet directement à droite de celui où j'execute la macro. Le "range" est quant à lui ok.

Comment puis-je y arriver ?

Merci d'avance.

Bonjour,

En début de macro (après sub nom_de_ta_macro() ), ajoutes :

Dim i As Byte
i = ActiveSheet.Index

Ensuite modifie ta ligne comme ceci :

ActiveChart.SetSourceData Source:=Sheets(i + 1).Range("A7:I7,A9:I9"), PlotBy :=xlColumns

Un exemple compréhensible sur une macro complète :

Sub feuilleadroite()
Dim i As Byte
i = ActiveSheet.Index

On Error GoTo erreur
MsgBox ("La feuille à droite de celle ci s'appelle " & Sheets(i + 1).Name)
Exit Sub

erreur:
MsgBox ("Il n'y a pas de feuille à droite de celle-ci")
End Sub
Rechercher des sujets similaires à "probleme macro graphiques"