concorddance plage de données/lignes dans macro

matsam

XLDnaute Nouveau
Bonjour,

je souhaite créer un graphique à partir d'une macro, mais que la fonction puisse faire plusieurs graphiques différents donc que les plages de données soient variables.

existe t-il un "code" pour passer de l'un a l'autre (=feuille!$B$ligne_debut:$B$ligne_fin qui dans un macro se transforme en =feuille!R8C2:R29C2)?

voici une partie du code avec les endroit en gras correspondant au problème :

Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("pluviométrie").Range("D12:J12"), _
PlotBy:=xlRows
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=meteo!R8C2:R29C2"
ActiveChart.SeriesCollection(1).Values = "=meteo!R8C14:R29C14"

ActiveChart.SeriesCollection(1).Name = "=""pluviométrie instantannée"""
ActiveChart.SeriesCollection(2).Values = "=meteo!R2C15:R29C15"
ActiveChart.SeriesCollection(2).Name = "=""pluviométrie totale"""
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="mois davril"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "pluviométrie " & mois_ecrit & "" & année
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "date"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "eau (mm)"
End With
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).ChartType = xlLine



Merci de vos réponses.
 

kjin

XLDnaute Barbatruc
Re : concorddance plage de données/lignes dans macro

re,
Décidemment, ou tu fournis un fichier sans données ou explication ou rien !
Que diable, un peu de sérieux matsam !
En outre, avec 22 au compteur, un code entre balises est une habitude à adopter
A+
kjin
 

matsam

XLDnaute Nouveau
Re : concorddance plage de données/lignes dans macro

Un fichier ne servirait a rien. J'expliquais que j'ai un tableau de données et je veux en selectionner pour un graphique mais que cette plage de données soit variable.

Cela se fait dans la ligne de code :

ActiveChart.SeriesCollection(1).XValues = "=meteo!R8C2:R29C2"

où le code R8C2:R29C2 représente la plage de données en format VBA. Je ne connais que la plage de donnée en format $B$2:$B$5. Comment faire le lien?

Merci et pardon si je m'exprime mal
 

Pierrot93

XLDnaute Barbatruc
Re : concorddance plage de données/lignes dans macro

Bonjour à tous,

un code comme ceci peut être :

Code:
Dim c As ChartObject
Set c = Feuil1.ChartObjects.Add(Range("G15").Left, Range("G15").Top, 300, 200)
With c.Chart
    .ChartType = xlLineMarkers
    .SeriesCollection.Add Range("C1:C17"), , True
    .SeriesCollection(1).XValues = Range("A2:A17")
End With

bon après midi
@+
 

ferdhy

XLDnaute Junior
Re : concorddance plage de données/lignes dans macro

bonjour,


selon cette ligne:
ActiveChart.SeriesCollection(1).XValues = "=meteo!R8C2:R29C2"
les R8C2 represente une refference à une cellule qui est située à 8 ligne apres la ligne de depart et 2 colonne de la colonne de depart.

essaye de selectionner une cellule de refference, exemple Range("A1").select
connaissant la position de tes plages, B2:B5, tu aurra par rapport à la cellule A1

ligne=2-1
ligne2=5-1
colonne=2-1
colonne2=2-1

ActiveChart.SeriesCollection(1).XValues = "=meteo!R" & ligne & "C" & colonne & ":R" & ligne2 & "C" & colonne2


ferdhy
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia