débutant VBA, je cherche sur excel à creer autant de graph que j'ai de ligne de donnée, mais je ne trouve pas comment incrementer la plage de donnée dans la macro suivant:
j'arrive juste à boucler sur la même plage, à l'aide!!!!!!!
Evidement j'obtient x fois le même graph.
Dim x As Integer
Sheets("Feuil1").Select Range("A5:A20").Select
For x = 5 To 20
Charts.Add
ActiveChart.ChartType = xl3DColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("a5:m5"), PlotBy:=xlRows
ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R3C2:R3C13"
ActiveChart.SeriesCollection(1).Name = "=Feuil1!R5C1"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil2"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "POLYESTER METALLISE "
.Axes(xlCategory).HasTitle = True
.Axes(xlCategory).AxisTitle.Characters.Text = "mois"
.Axes(xlSeries).HasTitle = False
.Axes(xlValue).HasTitle = False
End With
ActiveChart.PlotArea.Select
ActiveChart.Legend.Select
Selection.Delete
ActiveChart.PlotArea.Select
ActiveChart.Axes(xlCategory).Select
Next x
End Sub
Ca sent l enregistreur de macro...
ton for next part d une bonne idée mais
en fait ce qui te coince c est :
ActiveChart.SetSourceData Source:=Sheets ("Feuil1").Range("a5:m5")
tu lui figes la ligne 5 là
tu boucles avec la variable X, alors change déjà pour
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("a" & x : "m" & x)
ensuite tu utilises :
ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R3C2:R3C13"
ActiveChart.SeriesCollection(1).Name = "=Feuil1!R5C1"
tente de remplacer les references relatives R3C2 et compagnie par un truc du style :
ActiveChart.SeriesCollection(1).XValues = sheets("feuil1").range("a" & x : "m" & x)
ActiveChart.SeriesCollection(1).Name =sheets("feuil1").range("a1:m1") si tes titres sont en ligne 1 sinon mais la bonne ligne.