VBA-Erreur d'execution 1004 "Impossible de definir la propriete"
floqsdf
-
floqsdf -
floqsdf -
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
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
A voir également:
- Impossible de définir la propriété visible de la classe worksheet
- Clé usb non visible - Guide
- Définir google comme page d'accueil - Guide
- Compte facebook désactivé mais toujours visible - Guide
- Excel ligne toujours visible - Guide
- Definir foyer - Accueil - Guide streaming
3 réponses
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()
Question. Les plages des séries de données sont elles prises dans le bon classeur?
Bon dimanche
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
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
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