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

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

3 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

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

    eric
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  3. floqsdf
     
    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