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 :

Création d'un graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2017
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2017
    Messages : 11
    Par défaut Création d'un graphique
    Bonjour !

    Je trouve vraiment peu d'infos sur la création d'un graphique via VBA donc je me permets de vous soumettre mon problème.
    Je veux faire un graphe où les abscisses sont des dates et les ordonnées des coûts.
    Voilà 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Public Sub getGraph()
     
        Dim MonGraphe As Chart, MaPlageA As Range, MaPlageB As Range
        Set MaPlageA = Worksheets("BidItem Cost Details").Columns("P:NQ").Rows(12)
        Set MaPlageB = Worksheets("BidItem Cost Details").Columns("P:NQ").Rows(7)
        Set MonGraphe = ThisWorkbook.Charts.Add
        MonGraphe.ChartType = xlLine
        MonGraphe.SetSourceData MaPlageA, MaPlageB
     
    With MonGraphe
       .HasTitle = True
       With .ChartTitle
          .Characters.Text = "ANNEE 2017"
          .Shadow = True
          .Border.Weight = xlHairline
       End With
       With .Axes(xlValue, xlPrimary)
          .HasTitle = True
          .AxisTitle.Characters.Text = "Dollars ($)"
       End With
       With .Axes(xlValue, xlSecondary)
          .HasTitle = True
          .AxisTitle.Characters.Text = "Jours"
       End With
    End With
     
        End Sub
    L'idée que je suis est de définir ma plageA comme celle "des coûts" et ma plageB comme celle "des dates".
    Mais :
    1) je ne suis pas sûr de l'écriture du code
    2) Ma "façon" de créer le graphique ( MonGraphe.SetSourceData MaPlageA, MaPlageB) ne marche évidemment pas et je n'arrive pas à trouver comment prendre mes "coûts" en série et mes dates en horizontal. J'ai bien essayé en enregistrant une macro mais ca ne marche pas mieux ( "MonGraphe.SeriesCollection"? )

    merci de votre aide; je suis assez perdu

  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
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Sub getGraph()
    Dim MonGraphe As Chart, MaPlageA As Range, MaPlageB As Range
     
    Set MaPlageA = Worksheets("BidItem Cost Details").Range("P12:NQ12")
    Set MaPlageB = Worksheets("BidItem Cost Details").Range("P7:NQ7")
    Set MonGraphe = ThisWorkbook.Charts.Add
    with MonGraphe
        .ChartType = xlLine
        with .Seriescollection.newseries
            .values=maplageb
            .xvalues=maplagea
        end with
     
        .HasTitle = True
        With .ChartTitle
            .Characters.Text = "ANNEE 2017"
            .Shadow = True
            .Border.Weight = xlHairline
        End With
        With .Axes(xlValue, xlPrimary)
            .HasTitle = True
            .AxisTitle.Characters.Text = "Dollars ($)"
        End With
        With .Axes(xlValue, xlSecondary)
            .HasTitle = True
            .AxisTitle.Characters.Text = "Jours"
        End With
    End With
    Set MaPlageA = nothing
    Set MaPlageB = nothing
    Set MonGraphe = nothing
    End Sub

Discussions similaires

  1. Création d'interface graphique pour débutant ...
    Par lesuisse dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 08/03/2006, 13h20
  2. création de deux graphiques à la fois
    Par Makino dans le forum Tkinter
    Réponses: 2
    Dernier message: 06/03/2006, 16h48
  3. Création de composants graphiques perso Visual C++
    Par jacques_henry dans le forum MFC
    Réponses: 1
    Dernier message: 06/01/2006, 11h40
  4. Réponses: 2
    Dernier message: 29/03/2004, 18h29

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