IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Range pour un graphique [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut Range pour un graphique
    Bonjour tout le monde

    J'essaie de faire un macro qui actualise la longueur d'une série de données dans excel.

    J'ai fait le code suivant, qui fonctionne très bien dans excel 2007, mais dans excel 2003 j'ai l'erreur "Impossible de définir la propriété XValue de la classe série"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    numRow = 2
    Do Until Worksheets("donnees").Cells(numRow, 1) = ""
        numRow = numRow + 1
    Loop
    numRow = numRow - 1
        Charts(1).Activate
        ActiveChart.SeriesCollection(9).XValues = "=Donnees!$C$2:$C$" + CStr(numRow)
        ActiveChart.SeriesCollection(9).Values = "=Donnees!$F$2:$F$" + CStr(numRow)
    Est ce que quelqu'un à un truc pour que je puisse faire la même chose sous excel 2003??

    Merci à tous
    Seam

  2. #2
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut
    Allo, j'ai essayé plusieurs choses pour régler mon problème. En fait j'en ai régler une certaine partie, mais j'obtient encore une erreur.

    Bon voici mon nouveau code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    valueX = "Donnees!$C$2:$C$" & CStr(numRow)
    valueY = "Donnees!$F$2:$F$" & CStr(numRow)
     
    Chart(1).Activate
    With ActiveCharte
      .SerieCollection(9).delete
      .SerieCollection.NewSeries
      .SerieCollection(9).Xvalues = valueX
      .SerieCollection(9).Values = valueY
    End With
    Donc en plaçant la plage données dans une variable (valueX) je règle mon erreur. ("Impossible de définir la propriété XValue de la classe série")

    Cependant, j'obtient exactement la même erreur cette fois pour .SerieCollection(9).Value

    J'ai essayer plusieurs chose, comme effacer la Série(9) et la recréer de nouveeau, j'ai essayer d'effacer la valeur de Value avant de lui passer la variable valueY, mais toujours la même erreur.

    J'ai lu sur un forum quelqu'un qui avait eu la même erreur. Je crois que pour la résoudre, il a du créer un dataSetpour les série, mais je ne comprend pas bien ce qu'il veut dire. En anglais evidemment...

    Voilà donc je ne suis pas plus avancé :-(
    Petit rappel, le macro fonctionne très bien sous Excel 2007, mais pas avec 2003.

    Petie précision, voici l'erreur en anglais si ca peut aider: Unable to set the Values property of the Series class
    Bon et bien merci d'Avance

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut
    Victoire

    J'ai finalement résussi :-)

    Je me suis rendu compte que Excel n'aime pas beaucoup comment je lui envoyais la plage de données.

    J'ai plutôt utilisé cette méthode, et magie tout marche bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    .SeriesCollection(9).XValues = Worksheets("donnees").Range("C2:C" & CStr(numRow) & "")
        .SeriesCollection(9).Values = Worksheets("donnees").Range("F2:F" & CStr(numRow) & "")
    J'ai remarquer que XValue accepte la première méthode mais pas Value.
    Cependant si j'utilise la première méthode, mon tableau n'apparait pas correctement(plutot que de prendre les valeurs qu'il y a dans les cellules, il utilise le numéro de la ligne???)

    Mais bon maintenant avec la méthode range, je n'est plus de probème.

    Merci à tous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] VBA: Tri de range collection pour les graphiques
    Par Holger dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/10/2011, 09h35
  2. [VBA-E] range discontinue pour un graphique
    Par gruget dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/05/2006, 01h56
  3. [VBA-E]range discontinue pour un graphique
    Par gruget dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/03/2006, 12h02
  4. Interface pour Tablette Graphique
    Par marzizou dans le forum C++Builder
    Réponses: 3
    Dernier message: 22/06/2004, 11h44
  5. Conseil pour interface graphique en C
    Par MaxiMax dans le forum Choisir un environnement de développement
    Réponses: 4
    Dernier message: 29/03/2004, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo