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 :

Ajout de série de graph [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut Ajout de série de graph
    Bonjour à tous,

    Je me permets de vous contacter car j'ai un souci sous VBA. Je débute je précise

    Voilà le projet (dans le même classeur) :

    Feuille 1 : j'indique en B18 le numéro de ligne de la feuille 2 que je souhaite copier.
    Feuille 2 : Des données en pagailles
    Feuille 3 : Je souhaite copier les lignes souhaitées les unes à la suite des autres.
    Feuille 4 : Feuille graphique. Je souhaite ajouter les lignes dans un seul et même graphique (donc ajouter des séries)

    Et c'est dans la dernière étape (création et implémentation du graphique) que je bloque.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Dim Ligne1 As Integer
    Dim LigFin As Long
     
    Sheets("Feuil1").Activate
    Ligne1 = Range("B18").Value
     
    If Ligne1 <= 0 Then
    MsgBox "Impossible de copier une ligne inexistante"
    Exit Sub
    End If
     
    Sheets("Feuil2").Activate
    LigFin = Sheets("Feuil3").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
    Rows(Ligne1).Replace What:=".", Replacement:="."
    Rows(Ligne1).Copy Destination:=Sheets("Feuil3").Range("A" & LigFin)
     
    Sheets("Feuil3").Activate
    Jusqu'ici, les lignes se copient bien.

    Ensuite, je souhaite que ma première ligne soit mes valeurs X et que les lignes qui suivent s'implémentent dans le graph.

    Voici le code que j'essai de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlXYScatterSmooth
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(1).XValues = "=Feuil3!$B$1:$ARA$1"
        ActiveChart.SeriesCollection(1).Values = LigFin
        Range("A7").Select
        ActiveSheet.ChartObjects("Graphique 24").Activate
        ActiveChart.PlotArea.Select
        ActiveChart.ChartArea.Select
        ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph1"
    Et c'est là où ça devient compliqué (pour moi).
    Je pense que tout le code du graph est à refaire, mais je ne sais pas par où commencer.

    Merci d'avance !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(1).Values = "=Feuil3!B" & LigFin & ":AR$" & LigFin
    Sinon, en utilisant des variables, ça deviendrait plus clair

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 5
    Par défaut
    Alors j'ai modifié mon code avec tes conseils et j'ai enlevé des bouts que je trouvais inutile...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sheets("Graph1").Activate
     
      ActiveChart.ChartType = xlXYScatterSmooth
      ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(1).XValues = "=Feuil3!$B$1:$ARA$1"
        ActiveChart.SeriesCollection(1).Values = "=Feuil3!$B$" & LigFin & ":$ARA$" & LigFin
    Le souci, c'est qu'ici il me remplace à chaque fois la série 1 par les valeurs.
    Je suppose que le souci vient de "SeriesCollection(1)" (cela signifie je suppose qu'il s'agit de la série 1).

    Or, si je continue de cliquer sur le bouton pour la macro, il m'ajoute bien des séries mais elles sont vides.
    J'ai tenté de mettre la valeur "LigFin" au lieu de 1 (puisque ça me renvoit un chiffre), mais ça ne passe pas.

    Merci de l'aide


    EDIT :

    C'est bon, je crois avoir trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    test = LigFin - 1
    ActiveChart.SeriesCollection(test).XValues = "=Feuil3!$B$1:$ARA$1"
        ActiveChart.SeriesCollection(test).Values = "=Feuil3!$B$" & LigFin & ":$ARA$" & LigFin
    Et tout cela m'ajoute bien mes séries

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, à consulter si ce n'est déjà fait.

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

Discussions similaires

  1. Ajouter des points à un graphe apd une boucle
    Par orloune dans le forum Calcul scientifique
    Réponses: 4
    Dernier message: 20/04/2014, 19h13
  2. Réponses: 1
    Dernier message: 16/09/2011, 20h44
  3. ajouter une légende à un graphe
    Par ouinih dans le forum R
    Réponses: 2
    Dernier message: 19/07/2011, 10h27
  4. [2.2.1][Chart] Ajouter une série "total"
    Par erwan.bodere dans le forum BIRT
    Réponses: 10
    Dernier message: 14/09/2010, 18h23
  5. [OpenOffice][Tableur] [Graphique] Ajouter une série
    Par Cantalou dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 17/06/2007, 20h25

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