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 de graphiques et nommage


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
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Par défaut Création de graphiques et nommage
    Bonjour,

    Voici mon problème. Je créé en VBA des graphiques.
    Vu le nombre que j'ai à faire, je fait une fonction par graphique.
    La où je bloque, c'est que j'aimerais nommer ces graphiques afin d'avoir plus de souplesse car graph1, graph2, ça ne peut aller qu'un temps. Et il faut se poser la question suivant l'ordre de création des graphiques (ordre d'appel des fonctions) qui deviens fixe.

    Pour le graphique en lui même, je pense y être arrivé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.Name = "Repartition"
    Par contre, je cherche à placer ces graphiques. J'ai trouver à le faire avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Set Grph = Sheets("Stats").ChartObjects(1)
        Set Emplacement = Range("A3:J20")
     
        With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
        End With
    Là ou je bloque, c'est que j'aimerais changer ChartObjects(1) en quelque chose de plus parlant. Mais l'objet Chart que je nome Repartition semble différent de l'objet ChartObjects que je manipule pour placer le graph.
    Je m'y prends peut être mal.
    Je met quand même ici le code complet de la partie de création du graph :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
        Range("AA1:AD10").Select
        Charts.Add
        ActiveChart.Name = "Repartition"
        ActiveChart.ChartType = xl3DColumnClustered
        ActiveChart.SetSourceData Source:=Sheets("Stats").Range("AA1:AD10"), PlotBy _
            :=xlColumns
        ActiveChart.Location Where:=xlLocationAsObject, Name:="Stats"
     
        With ActiveChart
            .HasTitle = True
            .ChartTitle.Characters.Text = _
            "Répartition des incidents"
            .Axes(xlCategory).HasTitle = False
            .Axes(xlSeries).HasTitle = False
            .Axes(xlValue).HasTitle = False
            .HasDataTable = True
            .DataTable.ShowLegendKey = True
            .WallsAndGridlines2D = False
            .HasLegend = False
            .ChartType = xl3DColumnClustered
            .Axes(xlCategory).HasMajorGridlines = False
            .Axes(xlCategory).HasMinorGridlines = False
            .Axes(xlSeries).HasMajorGridlines = False
            .Axes(xlSeries).HasMinorGridlines = False
            .Axes(xlValue).HasMajorGridlines = True
            .Axes(xlValue).HasMinorGridlines = False
            .RightAngleAxes = True
            .HeightPercent = 100
            .AutoScaling = True
            .Elevation = 29
            .Perspective = 30
            .Rotation = 44
        End With
     
        Set Grph = Sheets("Stats").ChartObjects(1)
        Set Emplacement = Range("A3:J20")
     
        With Grph
            .Left = Emplacement.Left
            .Top = Emplacement.Top
            .Height = Emplacement.Height
            .Width = Emplacement.Width
        End With
    Par avance, merci

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Ce bout de code te donnera une piste sur laquelle travailler.

    J'assume ici que tes données se trouvent sur la feuille "Stats" et que tu veux y insérer un graphique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub MakeChart2()
        Dim ch As ChartObject
     
        Set ch = Worksheets("Stats").ChartObjects.Add(100, 30, 400, 250)
        ch.Name = "Repartition"
        ch.Chart.ChartWizard Source:=Worksheets("Stats").Range("AA1:AD10"), _
                gallery:=xl3DColumn, PlotBy:=xlColumns, Title:="Repartition"
        ch.Chart.ChartType = xl3DColumnClustered
    End Sub
    Par la suite, tu peux faire référence au graphique par le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Stats").ChartObjects("Repartition")

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 15
    Par défaut
    Ha oui, beaucoup mieux.
    Et je le place dès le début.
    Bon avec placement en pixel mais ça me vas aussi, j'suis pas sectaire.
    Merci beaucoup!

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/04/2007, 20h17
  2. [VBA-E] Création de graphique
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 06/03/2006, 11h10
  3. VBA Excel - Création de graphique
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2006, 16h11
  4. [Graphique] Création de graphiques
    Par missnouvelle dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 22/11/2005, 19h12
  5. Création de graphique
    Par boxerbara dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/07/2005, 09h39

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