Bonjour,
mon probleme est le suivant,
j'effectue une meme macro pour 30 feuilles d un meme fichier excel, mais je ne sais pas comment programmer le trace d'un meme graphique pour les trente feuilles. Pour l'instant la macro me trace 30 fois le meme graph sur la Sheet1.
Pour l'instant j'ai le programme principal suivant:
Dim i
Sub traite_classeur()
cree_recap
nb_onglet = Sheets.Count - 1
For i = 1 To nb_onglet
Sheets(i).Select
traite_feuille
graph
Next
End Sub
et le debut de sous programme graph suivant:
Sub graph()
Range("B2:B801").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B2:B801"), PlotBy:=xlColumns
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R2C1:R801C1"
ActiveChart.SeriesCollection(1).Name = "=""Voltage"""
ActiveChart.SeriesCollection(2).Values = "=Sheet1!R2C12:R801C12"
ActiveChart.SeriesCollection(2).Name = "=""Max vibrations"""
ActiveChart.SeriesCollection(3).Values = "=Sheet1!R2C13:R801C13"
ActiveChart.SeriesCollection(3).Name = "=""min vibrations"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Graph1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time "
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Volt"
etc... Je crois que le probleme vient du fait que dans cette sub graph, il est ecrit Sheet1. Alors que je souhaiterais quelque chose du style Sheet(i) ou i varie de 1 a 30.
Connaissez le code de programmation pour faire cela?
Merci d'avance.
mon probleme est le suivant,
j'effectue une meme macro pour 30 feuilles d un meme fichier excel, mais je ne sais pas comment programmer le trace d'un meme graphique pour les trente feuilles. Pour l'instant la macro me trace 30 fois le meme graph sur la Sheet1.
Pour l'instant j'ai le programme principal suivant:
Dim i
Sub traite_classeur()
cree_recap
nb_onglet = Sheets.Count - 1
For i = 1 To nb_onglet
Sheets(i).Select
traite_feuille
graph
Next
End Sub
et le debut de sous programme graph suivant:
Sub graph()
Range("B2:B801").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("B2:B801"), PlotBy:=xlColumns
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Sheet1!R2C1:R801C1"
ActiveChart.SeriesCollection(1).Name = "=""Voltage"""
ActiveChart.SeriesCollection(2).Values = "=Sheet1!R2C12:R801C12"
ActiveChart.SeriesCollection(2).Name = "=""Max vibrations"""
ActiveChart.SeriesCollection(3).Values = "=Sheet1!R2C13:R801C13"
ActiveChart.SeriesCollection(3).Name = "=""min vibrations"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Graph1"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Time "
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Volt"
etc... Je crois que le probleme vient du fait que dans cette sub graph, il est ecrit Sheet1. Alors que je souhaiterais quelque chose du style Sheet(i) ou i varie de 1 a 30.
Connaissez le code de programmation pour faire cela?
Merci d'avance.