OVH Cloud OVH Cloud

probleme de graphique

4 réponses
Avatar
yannick bonneaux
Bonjour a tous!
Je dois réaliser 30 graphiques sur des feuilles séparées, issu d'un tableau
situé en feuil1
La 1er plage concerné est B1:C144
J'ai réaliser en enregistrant le premier graphe et j'ai dans ma procédure
ceci:

Range("B1:C144").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("B1:C144"), PlotBy
_
:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "=Feuil2!R1C2:R144C2"
etc. etc..........
La pas de problème

Pour les 29 restantes, les plages étant situées toutes les 145 lignes j'ai
fais ceci:
for x = 1 to 29
ActiveCell.Offset(144, 0).Range("A1:B144").Select

et c'est la que se situ mon problème, pour l'instructions:
ActiveChart.SetSourceData Source et ActiveChart.SeriesCollection(1).XValues
, je n'arrive pas a donner une plage en valeurs relatives dans ces
instructions.
J'ai essayer en donnant un nom au deux plages avant l'ajout du graphique
mais cela ne marche pas non plus
Mais je pense que je dois merder quelque part
Merci a ceux qui pourraient m'aider
A+
yannick

4 réponses

Avatar
Philippe.R
Bonjour Yannick,
Tu dois pouvoir remplacer les valeurs de ligne par une variable, dans ce genre (non testé) :

dim y as long,zz as long
dim i as integer
for y = 1 to 4321
zz=y+143
Range("B" & y & ":C" & zz).Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("B" & y & ":C" & zz),PlotBy
_
:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "þuil2!R" & y & "C2:R" & zz & "C2"

--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"yannick bonneaux" a écrit dans le message de
news:cc806o$r27$
Bonjour a tous!
Je dois réaliser 30 graphiques sur des feuilles séparées, issu d'un tableau
situé en feuil1
La 1er plage concerné est B1:C144
J'ai réaliser en enregistrant le premier graphe et j'ai dans ma procédure
ceci:

Range("B1:C144").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("B1:C144"), PlotBy
_
:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "þuil2!R1C2:R144C2"
etc. etc..........
La pas de problème

Pour les 29 restantes, les plages étant situées toutes les 145 lignes j'ai
fais ceci:
for x = 1 to 29
ActiveCell.Offset(144, 0).Range("A1:B144").Select

et c'est la que se situ mon problème, pour l'instructions:
ActiveChart.SetSourceData Source et ActiveChart.SeriesCollection(1).XValues
, je n'arrive pas a donner une plage en valeurs relatives dans ces
instructions.
J'ai essayer en donnant un nom au deux plages avant l'ajout du graphique
mais cela ne marche pas non plus
Mais je pense que je dois merder quelque part
Merci a ceux qui pourraient m'aider
A+
yannick




Avatar
yannick bonneaux
Salut Philippe
Cela marche parfaitement Merci je te félicite
Par contre j'essaye d'adapter ton Range("B" & y & ":C" & zz).Select a une
selection multiple
du genre Range("B1:C144,E1:F144,J1:J144").Select mais je m'y pers
complètement avec les "
Par exemple dans ton Range("B" & y & ":C" & zz) je m'attendais a un " avant
C et un après zz j'arrive pas a comprendre, mais c'est toi qui a raison
puisque cela marche.
Si tu pouvais m'éclairer
A+
yannick

"Philippe.R" a écrit dans le message de
news:%
Bonjour Yannick,
Tu dois pouvoir remplacer les valeurs de ligne par une variable, dans ce
genre (non testé) :


dim y as long,zz as long
dim i as integer
for y = 1 to 4321
zz=y+143
Range("B" & y & ":C" & zz).Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("B" & y & ":C" &
zz),PlotBy

_
:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "þuil2!R" & y & "C2:R" & zz &
"C2"


--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"yannick bonneaux" a écrit dans le message
de

news:cc806o$r27$
Bonjour a tous!
Je dois réaliser 30 graphiques sur des feuilles séparées, issu d'un
tableau


situé en feuil1
La 1er plage concerné est B1:C144
J'ai réaliser en enregistrant le premier graphe et j'ai dans ma
procédure


ceci:

Range("B1:C144").Select
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("B1:C144"),
PlotBy


_
:=xlColumns
ActiveChart.SeriesCollection(1).XValues = "þuil2!R1C2:R144C2"
etc. etc..........
La pas de problème

Pour les 29 restantes, les plages étant situées toutes les 145 lignes
j'ai


fais ceci:
for x = 1 to 29
ActiveCell.Offset(144, 0).Range("A1:B144").Select

et c'est la que se situ mon problème, pour l'instructions:
ActiveChart.SetSourceData Source et
ActiveChart.SeriesCollection(1).XValues


, je n'arrive pas a donner une plage en valeurs relatives dans ces
instructions.
J'ai essayer en donnant un nom au deux plages avant l'ajout du graphique
mais cela ne marche pas non plus
Mais je pense que je dois merder quelque part
Merci a ceux qui pourraient m'aider
A+
yannick








Avatar
yannick bonneaux
J'ai fini par comprendre et trouver. Merci philippe pour ta solution
A+
yannick

"yannick bonneaux" a écrit dans le message de
news:ccbtcq$aip$
Salut Philippe
Cela marche parfaitement Merci je te félicite
Par contre j'essaye d'adapter ton Range("B" & y & ":C" & zz).Select a une
selection multiple
du genre Range("B1:C144,E1:F144,J1:J144").Select mais je m'y pers
complètement avec les "
Par exemple dans ton Range("B" & y & ":C" & zz) je m'attendais a un "
avant

C et un après zz j'arrive pas a comprendre, mais c'est toi qui a raison
puisque cela marche.
Si tu pouvais m'éclairer
A+
yannick


Avatar
Philippe.R
Bonsoir Yannick,
Juste pour clarifier encore un peu :
Range("B1:C144,E1:F144,J1:J144").Select
peut s'écrire avec les mêmes variables :
Range("B" & y & ":C" & zz & ",E" & y & ":F" & zz & ",J" & y & ":J" & zz).Select
sont situés entre double quotes "" les éléments alpha de la formule et sans double quote les variables,
ici y et zz ; l'eperluette & servant à faire la liaison entre les uns et les autres.
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"yannick bonneaux" a écrit dans le message de
news:ccc83b$jjk$
J'ai fini par comprendre et trouver. Merci philippe pour ta solution
A+
yannick

"yannick bonneaux" a écrit dans le message de
news:ccbtcq$aip$
Salut Philippe
Cela marche parfaitement Merci je te félicite
Par contre j'essaye d'adapter ton Range("B" & y & ":C" & zz).Select a une
selection multiple
du genre Range("B1:C144,E1:F144,J1:J144").Select mais je m'y pers
complètement avec les "
Par exemple dans ton Range("B" & y & ":C" & zz) je m'attendais a un "
avant

C et un après zz j'arrive pas a comprendre, mais c'est toi qui a raison
puisque cela marche.
Si tu pouvais m'éclairer
A+
yannick