Problème modification source graph variable

Résolu/Fermé
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011 - 7 avril 2011 à 15:56
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011 - 8 avril 2011 à 08:49
Bonjour,

je voudrais modifier les données sources d'un graphique qui existe déjà dans un de mes fichiers excel, ce et à chaque fois que je lance ma macro.

J'ai le code suivant :

ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.ChartArea.Select
ChartObjects("Graphique 2").SetSourceData Source:=Sheets("Feuil1").Range(FL1.Cells(1, 1), FL1.Cells(14, QCol)), PlotBy _
:=xlRows

mais il ne passe pas... Je pense que le problème vient du Range(FL1.Cells(1, 1), FL1.Cells(14, QCol)), mais je n'en suis pas sûr...

FL1 étant la feuille1 de mon classeur Excel

Si vous avez une idée, je suis preneur !! Merci d'avance pour votre aide !

PS : je n'aime pas utiliser les .Select, mais je ne sais pas comment faire autrement dans ce cas là, donc si jamais, je suis preneur d'une autre solution également !! Merci ;)



A voir également:

4 réponses

ccm81 Messages postés 10860 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 mai 2024 2 406
7 avril 2011 à 16:42
bonjour
je cois qu'il y a une confusion avec les noms de feuilles
Q1. y a t'il une feuille qui s'appelle "Feuil1"?
Q2. FL1 est ce une variable contenant le nom de la feuille 1 ou le nom de la feuille 1?
Q3. "Feuil1" et FL1 est ce que c'est la même feuille?

1. si les données sont dans la même feuille que le graphique,
With Sheets(nom de la feuille).ChartObjects("Graphique 2").Chart
.SetSourceData Source:=.Range(Cells(1, 1), Cells(14, QCol)), PlotBy :=xlRows
end with
2. si les données ne sont pas dans la même feuille que le graphique, ça sera un peu plus compliqué
bonne suite
0
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011
7 avril 2011 à 16:47
FL1 est défini de la manière suivante :
Set FL1 = Worksheets("Feuil1")

Les données utiliées dans le graphique sont dans la meme feuille que le graphique, càd "Feuil1"

J'ai essayé votre code, mais la ligne suivante bloque également :

.SetSourceData Source:=.Range(Cells(1, 1), Cells(14, QCol)), PlotBy :=xlRows

une idée pourquoi ?

Merci pour votre aide, c'est vraiment sympa
0
ccm81 Messages postés 10860 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 mai 2024 2 406
7 avril 2011 à 16:54
re
1. j'ai fait une erreur j'ai oublié un sheets(nom de la feuille) avant le .Range
2. ton graphique est bien "Graphique 2"?
3. et comme ça?
With FL1.ChartObjects("Graphique 2").Chart
.SetSourceData Source:=FL1.Range(Cells(1, 1), Cells(14, QCol)), PlotBy :=xlRows
end with

sinon peux tu envoyer ton classeur sans données confidentielles par cijoint.fr au format excel 2003
bonne suite
0
couc67 Messages postés 50 Date d'inscription mardi 1 mars 2011 Statut Membre Dernière intervention 21 avril 2011
8 avril 2011 à 08:49
Hello

Tout fonctionne parfaitement ! Désolé pour le temps de réponse, et surtout, un grand merci pour ton aide ultra rapide !!

Bonne journée à toi ;)
0