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 plusieurs graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2023
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2023
    Messages : 13
    Par défaut Création plusieurs graphique
    Bonjour,

    Je cherche à modifier mon code VBA pour créer plusieurs graphiques distincts.

    Premier graphe :
    .SetSourceData Source:=Range("'Détails Rang2'!$JM$4:$TM$4")
    .SeriesCollection(1).XValues = "='Détails Rang2'!$JO$3:$TN$3"

    Deuxeme graphe :
    .SetSourceData Source:=Range("'Détails Rang2'!$JM$5:$TM$5")
    .SeriesCollection(1).XValues = "='Détails Rang2'!$JO$3:$TN$3"
    ;
    ;
    ;
    ;
    N graphe :

    .SetSourceData Source:=Range("'Détails Rang2'!$JM$n:$TM$n")
    .SeriesCollection(1).XValues = "='Détails Rang2'!$JO$3:$TN$3"

    Je reste a votre disposition,

    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
    44
    Sub Macro8()
     
        ' Declare variables
     
        Dim ws As Worksheet
        Dim rngData As Range
        Dim chtChart As ChartObject
        Dim i As Integer
     
        ' Set the worksheet and data range
     
        j = 3 + Range("JN2").Value
     
        Set ws = ThisWorkbook.Worksheets("Détails Rang2")
        Set rngData = ws.Range("JM3:TN" & j)
     
        ' Loop through each Rows of the data range
     
        For i = 2 To rngData.Rows.Count
     
            ' Add a new chart object
     
            Set chtChart = ws.ChartObjects.Add(Left:=380 * (i - 1), _
                Top:=10, Width:=760, Height:=420)
     
            ' Set the chart type and data range
     
            With chtChart.Chart
                .ChartType = xlAreaStacked
     
                .SetSourceData Source:=Range(rngData.Rows(1), rngData.Rows(i))
     
                .SeriesCollection(1).XValues = "='Détails Rang2'!$JO$3:$TN$3"
     
     
                .HasTitle = True
                .ChartTitle.Text = "Chart " & i - 1
                .Location Where:=xlLocationAsObject, Name:="Accueil"
     
            End With
     
        Next i
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 438
    Par défaut
    Bonjour,

    Quelque chose de ce genre:
    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
    Option Explicit
     
    Sub Macro8()
        Dim ws As Worksheet
        Dim rngData As Range
        Dim chtChart As ChartObject
        Dim i As Long, j As Long
        Set ws = ThisWorkbook.Worksheets("Détails Rang2")
        j = 3 + ws.Range("JN2")
        Set rngData = ws.Range("JM3:TN" & j)
        For i = 2 To rngData.Rows.Count         ' Loop through each Rows of the data range
            ' Add a new chart object
            Set chtChart = ws.ChartObjects.Add(Left:=10 + 300 * (i - 1), Top:=60, Width:=300, Height:=200)
            ' Set the chart type and data range
            With chtChart.Chart
                'Debug.Print rngData.Rows(1).Address, rngData.Rows(i).Address
                .ChartType = xlAreaStacked
                .SetSourceData Source:=rngData.Rows(i)
                .SeriesCollection(1).XValues = rngData.Rows(1)
                .HasTitle = True
                .ChartTitle.Text = "Chart " & i - 1
                .Location Where:=xlLocationAsObject, Name:="Accueil"
            End With
        Next i
    End Sub
    Cordialement.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. VBA - Création de plusieurs graphiques sur plusieurs feuilles
    Par PabloSloy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/06/2020, 15h13
  2. [XL-2007] Création plusieurs graphiques en auto
    Par DomVBA23 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/05/2019, 07h42
  3. [XL-2010] Création de graphiques à plusieurs séries
    Par Oparion dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 12/05/2017, 11h24
  4. [XL-2010] Problème: Création plusieure graphique grâce à une Macro Excel 2010
    Par abdel01 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/05/2015, 20h35
  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