Bonjour a tous,
Comme dit dans le titre, mon problème est le suivant. J'ai créé sous enregistreur de macro, un graph avec des séries se rapportant a un tableau.
Cependant ce tableau se verra rajouter au fil du temps des lignes, et j'aimerais donc que lorsque je lance ma macro, le graphique prenne en compte ces nouvelles lignes.
Je vous met le code actuel avec les zones en rouges qui devraient être modifiées, pour permettre de prendre en compte toute les colonnes :
A savoir que les séries 1,2,3,4,5 sont les résultats des lignes comprises dans les colonnes B,C,D,E,F
EDIT: Upload d'un fichier exemple
Comme dit dans le titre, mon problème est le suivant. J'ai créé sous enregistreur de macro, un graph avec des séries se rapportant a un tableau.
Cependant ce tableau se verra rajouter au fil du temps des lignes, et j'aimerais donc que lorsque je lance ma macro, le graphique prenne en compte ces nouvelles lignes.
Je vous met le code actuel avec les zones en rouges qui devraient être modifiées, pour permettre de prendre en compte toute les colonnes :
Code:
Sub Faismoimongraph()
Application.ScreenUpdating = False
'Destruction de l'ancien graphique s'il existe
Application.DisplayAlerts = False
Sheets("Graph Scores").Delete
Application.DisplayAlerts = True
Sheets("Scores").Select
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("Scores").Range("G16")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Scores!R2C1:R6C1"
ActiveChart.SeriesCollection(1).Values = "=[COLOR="Red"]Scores!R2C2:R6C2[/COLOR]"
ActiveChart.SeriesCollection(1).Name = "=Scores!R1C2"
ActiveChart.SeriesCollection(2).XValues = "=Scores!R2C1:R6C1"
ActiveChart.SeriesCollection(2).Values = "=[COLOR="Red"]Scores!R2C3:R6C3[/COLOR]"
ActiveChart.SeriesCollection(2).Name = "=Scores!R1C3"
ActiveChart.SeriesCollection(3).XValues = "=Scores!R2C1:R6C1"
ActiveChart.SeriesCollection(3).Values = "=[COLOR="Red"]Scores!R2C4:R6C4[/COLOR]"
ActiveChart.SeriesCollection(3).Name = "=Scores!R1C4"
ActiveChart.SeriesCollection(4).XValues = "=Scores!R2C1:R6C1"
ActiveChart.SeriesCollection(4).Values = "=[COLOR="Red"]Scores!R2C5:R6C5[/COLOR]"
ActiveChart.SeriesCollection(4).Name = "=Scores!R1C5"
ActiveChart.SeriesCollection(5).XValues = "=Scores!R2C1:R6C1"
ActiveChart.SeriesCollection(5).Values = "=[COLOR="Red"]Scores!R2C6:R6C6[/COLOR]"
ActiveChart.SeriesCollection(5).Name = "=Scores!R1C6"
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph Scores"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Evolution des scores"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Partie"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Score"
End With
ActiveChart.Axes(xlCategory).Select
With ActiveChart.Axes(xlCategory)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnit = 1
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
Application.ScreenUpdating = True
End Sub
A savoir que les séries 1,2,3,4,5 sont les résultats des lignes comprises dans les colonnes B,C,D,E,F
EDIT: Upload d'un fichier exemple
Pièces jointes
Dernière édition: