VBA-Erreur d'execution 1004 "Impossible de definir la propriete"

Fermé
floqsdf - 1 juin 2013 à 19:54
 floqsdf - 2 juin 2013 à 13:45
Bonjour,

Voilà j'ai un petit soucis :
J'ai un code VBA qui me crée un classeur Excel , avec des données et un graphique
Je veux donc définir les propriétés de mes séries :

Sub main()
[...]
Create Graph
End sub

Sub CreateGraph()

Sheets("Feuil1").Select

' Creation du graphique
Charts.Add

' Type de graphique
ActiveChart.ChartType = xlXYScatterLines

' Suppression des series presentes par defaut
While ActiveChart.SeriesCollection.Count > 0
ActiveChart.SeriesCollection(1).Delete
Wend


' Creation serie 1
ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R3C3:R10C3"
ActiveChart.SeriesCollection(1).Values = "=Feuil1!R3C4:R10C4"
ActiveChart.SeriesCollection(1).Name = "toto"

ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).XValues = "=Feuil2!R3C3:R10C3"
ActiveChart.SeriesCollection(2).Values = "=Feuil2!R3C4:R10C4"
ActiveChart.SeriesCollection(2).Name = "titi"

End Sub

Sauf que lors de la compilation, j'ai ce message d'erreur : Erreur 1004 "Impossible de définir la propriété Values de la classe Séries", et idem pour toutes les propriétés qui suivent, ainsi que la série 2.

Pourtant, la propriété XValues, qui est en 1ere ligne, est bien définie. Et si j'inverse des lignes (par exemple je met en premier la ligne ActiveChart[...].Name) alors le nom est bien défini mais pas les lignes suivantes !!!
J'obtiens alors "impossible de définir la propriété XValues de la classe séries"

bizzare...
Si quelqu'un connait ce problème un petit conseil sera le bienvenue
Je vous remercie :)



Windows 7, Excel 2003, je n'ai pas protégé mon classeur, j'ai vérifié la syntaxe avec l'enregistreur de macro

3 réponses

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
2 juin 2013 à 00:38
Bonsoir,

aucune réponse...
Peut-être parce que tu as oublié de joindre un fichier.

eric
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 2/06/2013 à 10:52
Bonjour

J'ai un code VBA qui me crée un classeur Excel , avec des données et un graphique

Ta procédure CreateGraph est correcte
On peut la simplifier un peu

Sub CreateGraph()
' Creation du graphique
  Charts.Add
' Type de graphique
  ActiveChart.ChartType = xlXYScatterLines
' Creation serie 1
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R3C3:R10C3"
  ActiveChart.SeriesCollection(1).Values = "=Feuil1!R3C4:R10C4"
  ActiveChart.SeriesCollection(1).Name = "toto"
' Creation serie 2
  ActiveChart.SeriesCollection.NewSeries
  ActiveChart.SeriesCollection(2).XValues = "=Feuil2!R3C3:R10C3"
  ActiveChart.SeriesCollection(2).Values = "=Feuil2!R3C4:R10C4"
  ActiveChart.SeriesCollection(2).Name = "titi"
End Sub

Question. Les plages des séries de données sont elles prises dans le bon classeur?

Bon dimanche
0
Bonjour,


Merci de ta réponse ccm81


Alors déjà je me suis trompé, et veuillez m'en escuser : j'arrive quand même à définir le nom (.Name="toto")

Sinon j'ai mis un point d'arret au niveau du probleme. Le fichier est bon, le graph est bien là. J'ai regardé dans les données sources du graph :


Onglet plage de données/Plage de données : <vide> "La plage de données est trop complexe pour être affichée"
Onglet Séries : Nom = "toto"
Valeurs X :=Feuil1!$C$3:$C$10
Valeurs Y : ={1}


Ca me parait être le bon classeur. J'ai même essayé d'ajouter à mes lignes de codes :
ActiveChart.SeriesCollection(1).Values="='[MonClasseur.xls]Feuil1'!R20C3:R40C3"


Mais toujours le meme probleme, j'arrive à définir mes X mais pas mes Y. Et si j'inverse les 2 lignes de place, j'arrive à définir mes Y mais pas mes X.



Merci !

Voilà bon dimanche à toi aussi
0