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 :

Problème: Création plusieure graphique grâce à une Macro Excel 2010 [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Problème: Création plusieure graphique grâce à une Macro Excel 2010
    Bonjour à tous,

    Je suis débutant en langage VBA, je souhaite crée plusieur graphique pour mes TOP 200 pièces avec une macro et les placer dans l'onglet "Graphique Top pièces" (longueure du graph de la Celule A3 jusqua la cellule K3 et Largeure de A3 jusqu'a la cellule A20) ainsi de suite.

    j'ai crée une macro mais juste pour un seule graphique C'est a dire TOP 1 et j'aimerai bien pour avoir une macro pour 200 graphique (TOP 200 pièce) et les placer la ou je veux pour chaque TOP piéce.

    Vous trouverez un exemple sous Excel, mais j'ai que TOP 4 des pièce, ( 4graphique).

    Est ce que pouriez vous m'aider pour avoir une code qui me sort 200 graphique pour 200 top pièce SVP?



    Merci beaucoup.
    Fichiers attachés Fichiers attachés

  2. #2
    Invité
    Invité(e)

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Merci Pour ta réponse, mai ça marche pas, je suis désolé mais je comprend pas grand chose en VBA, est ce que quelqu'un peut modifier mon code pour tracer plusieur graphisque pour chque TOP pièce?. ca me prend la tete lol ça me prend grave la tete

  4. #4
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    on a tous un truc qui nous prend la tête... moi par exemple, ça me prend la tête les gens qui veulent qu'on fasse leur travail complètement sans essayer des pistes qu'on leur propose

    je ne suis peut être pas le seul d'ailleurs.

    PS : restons constructifs quand même ... si tu dois faire 200 graphiques plus ou moins identiques avec justes des valeurs/noms qui changent, l'enregistreur de macro est ton ami. Il te donnera le code pour automatiser un graphique.
    Si ton fichier est correctement structuré, on pourra t'aider à faire une boucle pour générer les 200 graphiques quand tu nous montreras le code que t'as commencé

    la balle est dans ton camps.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonjour à tous,

    vous trouverez ci-dessous mon code pour créer un seule graphique, comment je peux faire une boucle qui permet d'avoir 200 graphique et je grade la meme struture du code mais juste les donnée du graphique qui change ( c-a-d les lignes)
    vous trouverez mes besoins Entre Parenthèses.

    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
    Sub Graphique()
    '
    ' Graphique Macro
    '
     
    '
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlLine
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(1).Name = "='Top pièces'!$AA$3" (==>graph 2: il remplace le 3 par 11; graphique 3:il remplace le 3 par 19....) 
        ActiveChart.SeriesCollection(1).Values = "='Top pièces'!$AA$6:$AU$6" (==>graph2: il remplace le 6 par 14"; graph 3:il remplace le 6 par 22....)    ActiveChart.SeriesCollection(1).XValues = "='Top pièces'!$AA$4:$AU$4" (==>graph 2: il remplace le 4 par 12; graph 3:il remplace le 4 par 20....)   ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(2).Name = "='Top pièces'!$Z$5" (=>graph 2: il remplace le 5 par 13; graph 3: le 5 par 21.....) 
     
        ActiveChart.SeriesCollection(2).Values = "='Top pièces'!$AA$5:$AU$5" (=>graph 2: il remplace le 5 par 13; graph 3: le 5 par 21.....) 
     
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(3).Name = "='Top pièces'!$Z$8" (==> graph 2: il remplace le 8 par 16, graph 3:le 8 par 24....)
        ActiveChart.SeriesCollection(3).Values = "='Top pièces'!$AA$8:$AU$8" (==> graph 2: il remplace le 8 par 16, graph 3:le 8 par 24....)
        ActiveChart.SeriesCollection(3).Select
        ActiveChart.SeriesCollection(3).ChartType = xlLine
        ActiveChart.SeriesCollection(3).Select
        ActiveChart.SeriesCollection(3).AxisGroup = 2
        ActiveChart.SeriesCollection(3).Select
        ActiveChart.SeriesCollection(2).Select
        ActiveChart.SeriesCollection(2).ChartType = xlColumnClustered
        ActiveChart.SeriesCollection(2).Select
        With Selection.Format.Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(0, 112, 192)
            .Transparency = 0
            .Solid
        End With
        ActiveChart.SeriesCollection(1).Select
        With Selection.Format.Line
            .Visible = msoTrue
            .ForeColor.RGB = RGB(255, 0, 0)
            .Transparency = 0
        End With
        Range("L13").Select
        End Sub

  6. #6
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    le code suivant fonctionne sur ton fichier transmis

    4 graphiques sont générés et vont se positionner là où tu le voulais

    tu dois uniquement changer un chiffre dans le code, j'ai mis un commentaire à cet effet

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Sub Graphique()
    Dim i As Integer
    Dim Sh As Worksheet
    Dim Plage As Range
     
    Set Sh = ThisWorkbook.Worksheets("Graphique Top Pièces")
     
    ' ici tu mets le nombre de graphiques -1 (pour TOP200, tu mets 199 au lieu du 3
    For i = 0 To 3
     
        Set Plage = Sh.Range(Cells(3 + (i * 20), 1), Cells(20 + (i * 20), 7))
     
        Sh.Shapes.AddChart.Select
        With ActiveChart
            With .Parent
                .Left = Plage.Left
                .Width = Plage.Width
                .Top = Plage.Top
                .Height = Plage.Height
            End With
     
            .ChartType = xlLine
            .SeriesCollection.NewSeries
     
            With .SeriesCollection(1)
                .Name = "='Top pièces'!$AA$" & 3 + (i * 8)
                .Values = "='Top pièces'!$AA$" & 6 + (i * 8) & ":$AU$" & 6 + (i * 8)
                .XValues = "='Top pièces'!$AA$" & 4 + (i * 8) & ":$AU$" & 4 + (i * 8)
     
                With .Format.Line
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(255, 0, 0)
                    .Transparency = 0
                End With
     
            End With
     
            .SeriesCollection.NewSeries
     
            With .SeriesCollection(2)
                .Name = "='Top pièces'!$Z$" & 5 + (i * 8)
                .Values = "='Top pièces'!$AA$" & 5 + (i * 8) & ":$AU$" & 5 + (i * 8)
                .ChartType = xlColumnClustered
     
                With .Format.Fill
                    .Visible = msoTrue
                    .ForeColor.RGB = RGB(0, 112, 192)
                    .Transparency = 0
                    .Solid
                End With
     
            End With
     
            .SeriesCollection.NewSeries
     
            With .SeriesCollection(3)
                .Name = "='Top pièces'!$Z$" & 8 + (i * 8)
                .Values = "='Top pièces'!$AA$" & 8 + (i * 8) & ":$AU$" & 8 + (i * 8)
                .ChartType = xlLine
                .AxisGroup = 2
            End With
        End With
    Next i
     
    End Sub

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    merci beaucoup ça marche :-)

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

Discussions similaires

  1. Traitement de plusieurs fichiers Word en simultané par une macro Excel
    Par Dryanide dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/09/2019, 13h53
  2. [XL-2010] MAJ Graphique grâce à une macro
    Par ludo01 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/05/2015, 20h50
  3. Problèmes pour tracer des graphiques avec une macro
    Par Margoooot dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/08/2011, 17h19
  4. Probléme de code lié a une macro (Excel 2003)
    Par mairiemeudon dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/06/2010, 14h35
  5. création d'une macro excel compliquée
    Par V i n c e n t dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 31/03/2009, 14h15

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