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 :

creer des graphiques automatiquements [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut creer des graphiques automatiquements
    BOnjour,

    Je me posais la question de savoir si c'était possible de créer des graphiques automatiquement à partir d'un fichier de données excel?
    Si quelqu'un pouvait m'aider, merci!

    Bonne journée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Utilise l’enregistreur de macro pour générer un code qui fait ça, puis analyse la macro créée par Excel.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut
    Oui merci j'y pense jamais....
    Voici ce que cela me donne:
    Mais je ne sais pas comment faire car j'ai plusieurs feuilles dans un classeur?
    Et j'aimerais aussi ajouter un nom au graphique mais en automatique....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Macro1()
    '
    ' Macro1 Macro
    '
     
    '
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xl3DColumn
        Range("A1:D2").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xl3DColumn
        ActiveChart.SetSourceData Source:=Range("Feuil1!$A$1:$D$2")
    End Sub
    Re bonjour,

    J'ai extrait du nouveau code avec les macros pour créer des graphiques.
    Voici le resultat (code ci-dessous):
    ça marche bien le seul soucis, c'est qu'il me mets les differents graphiques au même endroit.
    J'aimerais qu'ils envois chaques graphiques dans chaque onglet prévue donc si quelqu'un pouvait m'aider, merci!

    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    Option Explicit
     
    Sub Auto()
     
     
     
     
     
     
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlLineMarkers
        ActiveChart.SetSourceData Source:=Range("Feuil2!$B$2:$M$3")
        ActiveChart.SeriesCollection(1).Name = "=Feuil2!$A$2"
        ActiveChart.SeriesCollection(2).Name = "=Feuil2!$A$3"
        ActiveChart.SeriesCollection(2).XValues = "=Feuil2!$B$1:$M$1"
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = "Les faits constatés 2011/2012"
        Selection.Format.TextFrame2.TextRange.Characters.Text = _
            "Les faits constatés 2011/2012"
        With Selection.Format.TextFrame2.TextRange.Characters(1, 29).ParagraphFormat
            .TextDirection = msoTextDirectionLeftToRight
            .Alignment = msoAlignCenter
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(1, 3).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(4, 26).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        ActiveChart.ChartArea.Select
     
     
    '
    ' Macro2 Macro
    '
     
    '
     
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlColumnClustered
        ActiveChart.SetSourceData Source:=Range("Feuil3!$B$2:$M$3")
        Application.CutCopyMode = False
        ActiveChart.SeriesCollection(1).Name = "=Feuil3!$A$2"
        ActiveChart.SeriesCollection(2).Name = "=Feuil3!$A$3"
        ActiveChart.SeriesCollection(2).XValues = "=Feuil3!$B$1:$M$1"
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = "Les atteintes aux personnes en 2012"
        Selection.Format.TextFrame2.TextRange.Characters.Text = _
            "Les atteintes aux personnes en 2012"
        With Selection.Format.TextFrame2.TextRange.Characters(1, 35).ParagraphFormat
            .TextDirection = msoTextDirectionLeftToRight
            .Alignment = msoAlignCenter
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(1, 3).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(4, 32).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        ActiveChart.ChartArea.Select
     
     
     
    End Sub

  4. #4
    Invité
    Invité(e)
    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
    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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    Option Explicit
     Sub test()
     Auto "Feuil1", "Feuil2", "Feuil3"
     End Sub
     
    Sub Auto(Cible As String, Source1 As String, Source2 As String)
     
     
     
     ActiveWorkbook.Worksheets(Cible).Select
     
     
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlLineMarkers
        ActiveChart.SetSourceData Source:=Range(Source1 & "!$B$2:$M$3")
        ActiveChart.SeriesCollection(1).Name = "=" & Source1 & "!$A$2"
        ActiveChart.SeriesCollection(2).Name = "=" & Source1 & "!$A$3"
        ActiveChart.SeriesCollection(2).XValues = "=" & Source1 & "!$B$1:$M$1"
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = "Les faits constatés 2011/2012"
        Selection.Format.TextFrame2.TextRange.Characters.Text = _
            "Les faits constatés 2011/2012"
        With Selection.Format.TextFrame2.TextRange.Characters(1, 29).ParagraphFormat
            .TextDirection = msoTextDirectionLeftToRight
            .Alignment = msoAlignCenter
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(1, 3).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(4, 26).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        ActiveChart.ChartArea.Select
     
     
    '
    ' Macro2 Macro
    '
     
    '
     
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlColumnClustered
        ActiveChart.SetSourceData Source:=Range(Source2 & "!$B$2:$M$3")
        Application.CutCopyMode = False
        ActiveChart.SeriesCollection(1).Name = "=" & Source2 & "!$A$2"
        ActiveChart.SeriesCollection(2).Name = "=" & Source2 & "!$A$3"
        ActiveChart.SeriesCollection(2).XValues = "=" & Source2 & "!$B$1:$M$1"
        ActiveChart.SetElement (msoElementChartTitleAboveChart)
        ActiveChart.ChartTitle.Text = "Les atteintes aux personnes en 2012"
        Selection.Format.TextFrame2.TextRange.Characters.Text = _
            "Les atteintes aux personnes en 2012"
        With Selection.Format.TextFrame2.TextRange.Characters(1, 35).ParagraphFormat
            .TextDirection = msoTextDirectionLeftToRight
            .Alignment = msoAlignCenter
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(1, 3).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        With Selection.Format.TextFrame2.TextRange.Characters(4, 32).Font
            .BaselineOffset = 0
            .Bold = msoTrue
            .NameComplexScript = "+mn-cs"
            .NameFarEast = "+mn-ea"
            .Fill.Visible = msoTrue
            .Fill.ForeColor.RGB = RGB(0, 0, 0)
            .Fill.Transparency = 0
            .Fill.Solid
            .Size = 18
            .Italic = msoFalse
            .Kerning = 12
            .Name = "+mn-lt"
            .UnderlineStyle = msoNoUnderline
            .Strike = msoNoStrike
        End With
        ActiveChart.ChartArea.Select
     
     
     
    End Sub

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut creer des graphiques automatiquements
    merci pour l'aide et il me marque "argument non facultatif" donc je ne vois pas le probleme....

  6. #6
    Invité
    Invité(e)
    Par défaut
    Joins ton fichier pour juger sur pièce !

  7. #7
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 019
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 019
    Par défaut creer des graphiques automatiquements
    ok et encore merci!
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. pb macro creer des repertoires automatiquement
    Par Maxbruver dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/04/2015, 20h58
  2. Probleme avec cacti supervision pour creer des graphiques
    Par officielmc dans le forum Administration système
    Réponses: 1
    Dernier message: 08/06/2011, 10h07
  3. creer des graphique (courbe, barre) avec options(interactif?)
    Par livinho38 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 29/04/2010, 14h35
  4. Composant pour creer des graphiques
    Par Seb33300 dans le forum Visual C++
    Réponses: 2
    Dernier message: 07/05/2007, 17h40
  5. Réponses: 5
    Dernier message: 24/01/2006, 01h16

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