Batourouciss
XLDnaute Nouveau
Bonjour, j'ai fait un code pour créer un graphique à partir de VBA. J'ai demandé à mon code de changer les valeurs de l'axe des abscisses (car il a utilisé 1,2,3 par défaut) en les remplaçants par des données qu'il collectera dans une plage de cellules. Malheureusement, quand je le fais manuellement, cela fonctionne mais avec mon code ça ne fonctionne pas.
Je veux qu'à la place de 1,2 et 3 il me mette ça : 2016, 2017, 2018
Voici mon code que j'ai eu grâce à l'enregistreur macro :
Sub Création_graphique_essai2()
' Création_graphique_essai2 Macro
Range("Tableau1").Select
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
'ActiveChart.SetSourceData Source:=Range("PerfIndividuel!$A$2:$C$4")
'ActiveChart.FullSeriesCollection(1).IsFiltered = True
With Application
.CutCopyMode = False
.CutCopyMode = False
End With
With ActiveChart
.SetSourceData Source:=Range("PerfIndividuel!$A$2:$C$4")
.FullSeriesCollection(1).IsFiltered = True
.FullSeriesCollection(1).XValues = "=PerfIndividuel!$A$2:$A$4"
.FullSeriesCollection(2).Name = "=""M"""
.FullSeriesCollection(3).Name = "=""G"""
.ChartTitle.Select
.ChartTitle.Text = "Graphique De Performance"
End With
Selection.Format.TextFrame2.TextRange.Characters.Text = _
"Graphique De Performance"
With Selection.Format.TextFrame2.TextRange.Characters(1, 24).ParagraphFormat
.TextDirection = msoTextDirectionLeftToRight
.Alignment = msoAlignCenter
End With
With Selection.Format.TextFrame2.TextRange.Characters(1, 24).Font
.BaselineOffset = 0
.Bold = msoFalse
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(89, 89, 89)
.Fill.Transparency = 0
.Fill.Solid
.Size = 14
.Italic = msoFalse
.Kerning = 12
.Name = "+mn-lt"
.UnderlineStyle = msoNoUnderline
.Spacing = 0
.Strike = msoNoStrike
End With
ActiveChart.ChartArea.Select
End Sub
Et voilà le bout de code qui nous intéresse (Je pense):
Activechart.FullSeriesCollection(1).XValues = "=PerfIndividuel!$A$2:$A$4"
Voici le tableau.
Pouvez-vous m'aider svp ?
Merci d'avance.
Je veux qu'à la place de 1,2 et 3 il me mette ça : 2016, 2017, 2018
Voici mon code que j'ai eu grâce à l'enregistreur macro :
Sub Création_graphique_essai2()
' Création_graphique_essai2 Macro
Range("Tableau1").Select
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
'ActiveChart.SetSourceData Source:=Range("PerfIndividuel!$A$2:$C$4")
'ActiveChart.FullSeriesCollection(1).IsFiltered = True
With Application
.CutCopyMode = False
.CutCopyMode = False
End With
With ActiveChart
.SetSourceData Source:=Range("PerfIndividuel!$A$2:$C$4")
.FullSeriesCollection(1).IsFiltered = True
.FullSeriesCollection(1).XValues = "=PerfIndividuel!$A$2:$A$4"
.FullSeriesCollection(2).Name = "=""M"""
.FullSeriesCollection(3).Name = "=""G"""
.ChartTitle.Select
.ChartTitle.Text = "Graphique De Performance"
End With
Selection.Format.TextFrame2.TextRange.Characters.Text = _
"Graphique De Performance"
With Selection.Format.TextFrame2.TextRange.Characters(1, 24).ParagraphFormat
.TextDirection = msoTextDirectionLeftToRight
.Alignment = msoAlignCenter
End With
With Selection.Format.TextFrame2.TextRange.Characters(1, 24).Font
.BaselineOffset = 0
.Bold = msoFalse
.NameComplexScript = "+mn-cs"
.NameFarEast = "+mn-ea"
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(89, 89, 89)
.Fill.Transparency = 0
.Fill.Solid
.Size = 14
.Italic = msoFalse
.Kerning = 12
.Name = "+mn-lt"
.UnderlineStyle = msoNoUnderline
.Spacing = 0
.Strike = msoNoStrike
End With
ActiveChart.ChartArea.Select
End Sub
Et voilà le bout de code qui nous intéresse (Je pense):
Activechart.FullSeriesCollection(1).XValues = "=PerfIndividuel!$A$2:$A$4"
Voici le tableau.
Année | M | G |
2016 | 3.1% | 3.3% |
2017 | 1.6% | 0.7% |
2018 | -0.4% | 0.4% |
Pouvez-vous m'aider svp ?
Merci d'avance.