roievil
Messages postés7Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 8 août 2008
-
1 août 2008 à 15:33
roievil
Messages postés7Date d'inscriptionmardi 21 juin 2005StatutMembreDernière intervention 8 août 2008
-
8 août 2008 à 11:55
Bonjour,
voici mon problème:
j'ai une feuille excel2003 avec des données présentées comme suit :
mais avec beaucoup plus de lignes que collé ici (112), je voudrais mettre au point une macro qui pour chaque ligne de ce tableau me construise une courbe...
voici la macro que j'ai construite avec l'assistant de excel pour faire UNE courbe:
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 01/08/2008 par Olivier Glorieux
'
'
ActiveCell.Offset(0, -3).Range("A1:C1").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("B2:D2"), PlotBy:= _
xlRows
ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R1C2:R1C4"
ActiveChart.SeriesCollection(1).Name = "=Feuil1!R2C1"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "mus musculus"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
je ne sais pas comment faire pour parcourir mon tableau et appliquer ce bout de code à chaque ligne, qu'en pensez vous?
Autre chose:
Est ce un probleme si toutes les courbes (112) appartiennent au final à la même cellule?
dezbut
Messages postés12Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention13 août 2008 7 août 2008 à 14:23
la première ligne = rows(1)
Bon, je ne comprend pas cette ligne :
ActiveCell.Offset(0, -3).Range("A1:C1").Select
Pourquoi A1:C1 ? tu ne faisais que les graphes sur 2005 et 2006 ?
(en fait après reflexion, je pense qu'il faut enmever cette ligne...)
Ca doit être un truc dans ce genre là...
option base 1
sub graph()
For i=2 to 112 step 1
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range(Cells(i,2),cells(i,4)), plotBy:= _xlRows ' 4 = numéro de la dernière colonne de données
ActiveChart.SeriesCollection(i-1).XValues = Sheets("Feuil1").Range(Cells(i,2),cells(i,4))
ActiveChart.SeriesCollection(i-1).Name = cells(i,1)
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = cells(i,1).text
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
next i
end sub
Vous n’avez pas trouvé la réponse que vous recherchez ?