j'ai des séries de graphiques dont la source de donnée est un tableau
qui ets mis à jour par une macro. Le nombre de ligne et de colonne varie
en conséquence.
Quelles instructions VBA permettent de reparamétrer la source de données
des graphes ?
j'ai essayé ça, mais ça ne passe pas
Public Sub SelectDataGraph(FeuilleGraph As String, FeuilleData As
String, AxeX As String, Names As String, Values As String)
'Nom des séries
Sheets(FeuilleGraph).SeriesCollection.Names =
Sheets(FeuilleData).Range(Names)
'Axe des x
Sheets(FeuilleGraph).SeriesCollection.XValues =
Sheets(FeuilleData).Range(AxeX)
'Création des série de données
Sheets(FeuilleGraph).SetSourceData
Source:=Worksheets(FeuilleData).Range(Values)
End Sub
-- à+twinley "Gilgamesh" a écrit dans le message de news:
Bonjour,
j'ai des séries de graphiques dont la source de donnée est un tableau qui ets mis à jour par une macro. Le nombre de ligne et de colonne varie en conséquence.
Quelles instructions VBA permettent de reparamétrer la source de données des graphes ?
j'ai essayé ça, mais ça ne passe pas
Public Sub SelectDataGraph(FeuilleGraph As String, FeuilleData As String, AxeX As String, Names As String, Values As String)
'Nom des séries Sheets(FeuilleGraph).SeriesCollection.Names > Sheets(FeuilleData).Range(Names)
'Axe des x Sheets(FeuilleGraph).SeriesCollection.XValues > Sheets(FeuilleData).Range(AxeX)
'Création des série de données Sheets(FeuilleGraph).SetSourceData Source:=Worksheets(FeuilleData).Range(Values) End Sub
merci
Bonjour,
C'est là que ça se passe, avec les formules "décaler"
--
à+twinley
"Gilgamesh" <hsemaglig@uruk.com> a écrit dans le message de
news:OEHjLdkmEHA.2772@tk2msftngp13.phx.gbl...
Bonjour,
j'ai des séries de graphiques dont la source de donnée est un tableau
qui ets mis à jour par une macro. Le nombre de ligne et de colonne varie
en conséquence.
Quelles instructions VBA permettent de reparamétrer la source de données
des graphes ?
j'ai essayé ça, mais ça ne passe pas
Public Sub SelectDataGraph(FeuilleGraph As String, FeuilleData As
String, AxeX As String, Names As String, Values As String)
'Nom des séries
Sheets(FeuilleGraph).SeriesCollection.Names > Sheets(FeuilleData).Range(Names)
'Axe des x
Sheets(FeuilleGraph).SeriesCollection.XValues > Sheets(FeuilleData).Range(AxeX)
'Création des série de données
Sheets(FeuilleGraph).SetSourceData
Source:=Worksheets(FeuilleData).Range(Values)
End Sub
-- à+twinley "Gilgamesh" a écrit dans le message de news:
Bonjour,
j'ai des séries de graphiques dont la source de donnée est un tableau qui ets mis à jour par une macro. Le nombre de ligne et de colonne varie en conséquence.
Quelles instructions VBA permettent de reparamétrer la source de données des graphes ?
j'ai essayé ça, mais ça ne passe pas
Public Sub SelectDataGraph(FeuilleGraph As String, FeuilleData As String, AxeX As String, Names As String, Values As String)
'Nom des séries Sheets(FeuilleGraph).SeriesCollection.Names > Sheets(FeuilleData).Range(Names)
'Axe des x Sheets(FeuilleGraph).SeriesCollection.XValues > Sheets(FeuilleData).Range(AxeX)
'Création des série de données Sheets(FeuilleGraph).SetSourceData Source:=Worksheets(FeuilleData).Range(Values) End Sub
merci
Gilgamesh
Bonjour,
C'est là que ça se passe, avec les formules "décaler"
-- merci. J'ai essayé cela, mais ça ne marche pas terrible parce que les graphiques comportent un nombre arbitraire de série (autant que de ligne dans le tableau). Pour chaque série il faut donner l'adresse de la cellule qui convient. Or elles sont détruites et recrée à chaque fois...
En fait et pour la suite des événement j'aimerais bien l'instruction VBA kivabien pour paramétrer les graphiques :
ValeurX : va de la celluleA (gauche) à la celluleB (droite) Nom des Série : ... Valeur : ...
Ça doit bien exister quand même :-)
= ==
Bonjour,
C'est là que ça se passe, avec les formules "décaler"
-- merci. J'ai essayé cela, mais ça ne marche pas terrible parce que les
graphiques comportent un nombre arbitraire de série (autant que de ligne
dans le tableau). Pour chaque série il faut donner l'adresse de la
cellule qui convient. Or elles sont détruites et recrée à chaque fois...
En fait et pour la suite des événement j'aimerais bien l'instruction VBA
kivabien pour paramétrer les graphiques :
ValeurX : va de la celluleA (gauche) à la celluleB (droite)
Nom des Série : ...
Valeur : ...
-- merci. J'ai essayé cela, mais ça ne marche pas terrible parce que les graphiques comportent un nombre arbitraire de série (autant que de ligne dans le tableau). Pour chaque série il faut donner l'adresse de la cellule qui convient. Or elles sont détruites et recrée à chaque fois...
En fait et pour la suite des événement j'aimerais bien l'instruction VBA kivabien pour paramétrer les graphiques :
ValeurX : va de la celluleA (gauche) à la celluleB (droite) Nom des Série : ... Valeur : ...
Ça doit bien exister quand même :-)
= ==
twinley
Je fais quelque chose qui ressemble. J'ai bricolé un truc qui va faire bondir les puristes. Mais en attendant plus élégant, je tourne avec... Voici le code décomposé pour comprendre les étapes. J'arrive à remplir XValues et YValues des séries. Quand tu supprimes quatre séries, c'est toujours le même numéro de série. Xl ajuste le n° de l'objet. On peut simplifier mais pour comprendre, c'est plus pratique. J'espère que cela va t'aider. Je dois m'absenter cet aprème, à suivre...
ActiveChart.SeriesCollection(5).Trendlines.Add(Forward:).Select With Selection.Border .ColorIndex = 6 .Weight = xlThin End With -- à+twinley "Gilgamesh" a écrit dans le message de news:
Bonjour,
C'est là que ça se passe, avec les formules "décaler"
-- merci. J'ai essayé cela, mais ça ne marche pas terrible parce que les graphiques comportent un nombre arbitraire de série (autant que de ligne dans le tableau). Pour chaque série il faut donner l'adresse de la cellule qui convient. Or elles sont détruites et recrée à chaque fois...
En fait et pour la suite des événement j'aimerais bien l'instruction VBA kivabien pour paramétrer les graphiques :
ValeurX : va de la celluleA (gauche) à la celluleB (droite) Nom des Série : ... Valeur : ...
Ça doit bien exister quand même :-)
= > ==
Je fais quelque chose qui ressemble. J'ai bricolé un truc qui va faire
bondir les puristes. Mais en attendant plus élégant, je tourne avec...
Voici le code décomposé pour comprendre les étapes. J'arrive à remplir
XValues et YValues des séries.
Quand tu supprimes quatre séries, c'est toujours le même numéro de série. Xl
ajuste le n° de l'objet.
On peut simplifier mais pour comprendre, c'est plus pratique. J'espère que
cela va t'aider.
Je dois m'absenter cet aprème, à suivre...
ActiveChart.SeriesCollection(5).Trendlines.Add(Forward:).Select
With Selection.Border
.ColorIndex = 6
.Weight = xlThin
End With
--
à+twinley
"Gilgamesh" <hsemaglig@uruk.com> a écrit dans le message de
news:Oj0ckykmEHA.1644@tk2msftngp13.phx.gbl...
Bonjour,
C'est là que ça se passe, avec les formules "décaler"
-- merci. J'ai essayé cela, mais ça ne marche pas terrible parce que les
graphiques comportent un nombre arbitraire de série (autant que de ligne
dans le tableau). Pour chaque série il faut donner l'adresse de la
cellule qui convient. Or elles sont détruites et recrée à chaque fois...
En fait et pour la suite des événement j'aimerais bien l'instruction VBA
kivabien pour paramétrer les graphiques :
ValeurX : va de la celluleA (gauche) à la celluleB (droite)
Nom des Série : ...
Valeur : ...
Je fais quelque chose qui ressemble. J'ai bricolé un truc qui va faire bondir les puristes. Mais en attendant plus élégant, je tourne avec... Voici le code décomposé pour comprendre les étapes. J'arrive à remplir XValues et YValues des séries. Quand tu supprimes quatre séries, c'est toujours le même numéro de série. Xl ajuste le n° de l'objet. On peut simplifier mais pour comprendre, c'est plus pratique. J'espère que cela va t'aider. Je dois m'absenter cet aprème, à suivre...
ActiveChart.SeriesCollection(5).Trendlines.Add(Forward:).Select With Selection.Border .ColorIndex = 6 .Weight = xlThin End With -- à+twinley "Gilgamesh" a écrit dans le message de news:
Bonjour,
C'est là que ça se passe, avec les formules "décaler"
-- merci. J'ai essayé cela, mais ça ne marche pas terrible parce que les graphiques comportent un nombre arbitraire de série (autant que de ligne dans le tableau). Pour chaque série il faut donner l'adresse de la cellule qui convient. Or elles sont détruites et recrée à chaque fois...
En fait et pour la suite des événement j'aimerais bien l'instruction VBA kivabien pour paramétrer les graphiques :
ValeurX : va de la celluleA (gauche) à la celluleB (droite) Nom des Série : ... Valeur : ...
Ça doit bien exister quand même :-)
= > ==
Gilgamesh
merci :-)
bon je vais voir, mais j'aimerais quand même avoir tout simplement la syntaxe pour paramétrer une série de donnée.
Ma philosophie ici ce serait de faire un boucle par série...
Du genre :
For c = 2 To Sheets(FeuilleData).Range(Names).Columns.Count - 1 ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(c).XValues = ??? ActiveChart.SeriesCollection(c).Name = ??? ActiveChart.SeriesCollection(c).Values = ??? Next c
Ça doit bien exister !
a+ ==
merci :-)
bon je vais voir, mais j'aimerais quand même avoir tout simplement la
syntaxe pour paramétrer une série de donnée.
Ma philosophie ici ce serait de faire un boucle par série...
Du genre :
For c = 2 To Sheets(FeuilleData).Range(Names).Columns.Count - 1
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(c).XValues = ???
ActiveChart.SeriesCollection(c).Name = ???
ActiveChart.SeriesCollection(c).Values = ???
Next c
bon je vais voir, mais j'aimerais quand même avoir tout simplement la syntaxe pour paramétrer une série de donnée.
Ma philosophie ici ce serait de faire un boucle par série...
Du genre :
For c = 2 To Sheets(FeuilleData).Range(Names).Columns.Count - 1 ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(c).XValues = ??? ActiveChart.SeriesCollection(c).Name = ??? ActiveChart.SeriesCollection(c).Values = ??? Next c
Ça doit bien exister !
a+ ==
twinley
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple... Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08} et que ton séparateur de décimal est probablement la virgule. D'ou le passage par Application.Substitute(1 * Format(equationdeb, "#####.00"), ",", ".") pour changer la virgule en point. -- à+twinley "Gilgamesh" a écrit dans le message de news:
merci :-)
bon je vais voir, mais j'aimerais quand même avoir tout simplement la syntaxe pour paramétrer une série de donnée.
Ma philosophie ici ce serait de faire un boucle par série...
Du genre :
For c = 2 To Sheets(FeuilleData).Range(Names).Columns.Count - 1 ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(c).XValues = ??? ActiveChart.SeriesCollection(c).Name = ??? ActiveChart.SeriesCollection(c).Values = ??? Next c
Ça doit bien exister !
a+ ==
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple...
Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08}
et que ton séparateur de décimal est probablement la virgule.
D'ou le passage par Application.Substitute(1 * Format(equationdeb,
"#####.00"), ",",
".")
pour changer la virgule en point.
--
à+twinley
"Gilgamesh" <hsemaglig@uruk.com> a écrit dans le message de
news:ejJFkJnmEHA.2552@TK2MSFTNGP11.phx.gbl...
merci :-)
bon je vais voir, mais j'aimerais quand même avoir tout simplement la
syntaxe pour paramétrer une série de donnée.
Ma philosophie ici ce serait de faire un boucle par série...
Du genre :
For c = 2 To Sheets(FeuilleData).Range(Names).Columns.Count - 1
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(c).XValues = ???
ActiveChart.SeriesCollection(c).Name = ???
ActiveChart.SeriesCollection(c).Values = ???
Next c
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple... Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08} et que ton séparateur de décimal est probablement la virgule. D'ou le passage par Application.Substitute(1 * Format(equationdeb, "#####.00"), ",", ".") pour changer la virgule en point. -- à+twinley "Gilgamesh" a écrit dans le message de news:
merci :-)
bon je vais voir, mais j'aimerais quand même avoir tout simplement la syntaxe pour paramétrer une série de donnée.
Ma philosophie ici ce serait de faire un boucle par série...
Du genre :
For c = 2 To Sheets(FeuilleData).Range(Names).Columns.Count - 1 ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(c).XValues = ??? ActiveChart.SeriesCollection(c).Name = ??? ActiveChart.SeriesCollection(c).Values = ??? Next c
Ça doit bien exister !
a+ ==
Gilgamesh
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple... Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08} et que ton séparateur de décimal est probablement la virgule. D'ou le passage par Application.Substitute(1 * Format(equationdeb, "#####.00"), ",", ".") pour changer la virgule en point.
Oh oh... Ça pourrait expliquer la difficulté que j'ai parfois de "passer" une valeur.
merci
a+ ==
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple...
Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08}
et que ton séparateur de décimal est probablement la virgule.
D'ou le passage par Application.Substitute(1 * Format(equationdeb,
"#####.00"), ",",
".")
pour changer la virgule en point.
Oh oh... Ça pourrait expliquer la difficulté que j'ai parfois de
"passer" une valeur.
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple... Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08} et que ton séparateur de décimal est probablement la virgule. D'ou le passage par Application.Substitute(1 * Format(equationdeb, "#####.00"), ",", ".") pour changer la virgule en point.
Oh oh... Ça pourrait expliquer la difficulté que j'ai parfois de "passer" une valeur.
merci
a+ ==
twinley
c'est ce qui donne un air lourdingue à mon code, mais on doit créer la chaîne de car et traduire en anglais. Mais en 4 lignes c'est fait, et si un costaud s'en mêle, il va te faire ça en 2 coups de cuillère à pot.
-- à+twinley "Gilgamesh" a écrit dans le message de news:%
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple...
Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08} et que ton séparateur de décimal est probablement la virgule. D'ou le passage par Application.Substitute(1 * Format(equationdeb, "#####.00"), ",", ".") pour changer la virgule en point.
Oh oh... Ça pourrait expliquer la difficulté que j'ai parfois de "passer" une valeur.
merci
a+ ==
c'est ce qui donne un air lourdingue à mon code, mais on doit créer la
chaîne de car et traduire en anglais.
Mais en 4 lignes c'est fait, et si un costaud s'en mêle, il va te faire ça
en 2 coups de cuillère à pot.
--
à+twinley
"Gilgamesh" <hsemaglig@uruk.com> a écrit dans le message de
news:%230qMjZomEHA.2864@tk2msftngp13.phx.gbl...
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus
simple...
Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08}
et que ton séparateur de décimal est probablement la virgule.
D'ou le passage par Application.Substitute(1 * Format(equationdeb,
"#####.00"), ",",
".")
pour changer la virgule en point.
Oh oh... Ça pourrait expliquer la difficulté que j'ai parfois de
"passer" une valeur.
c'est ce qui donne un air lourdingue à mon code, mais on doit créer la chaîne de car et traduire en anglais. Mais en 4 lignes c'est fait, et si un costaud s'en mêle, il va te faire ça en 2 coups de cuillère à pot.
-- à+twinley "Gilgamesh" a écrit dans le message de news:%
tu me sembles sur la bonne piste. Je suis preneur d'un truc plus simple...
Je te rappelle que tu dois simuler la saisie de ={3534.9,3533.08} et que ton séparateur de décimal est probablement la virgule. D'ou le passage par Application.Substitute(1 * Format(equationdeb, "#####.00"), ",", ".") pour changer la virgule en point.
Oh oh... Ça pourrait expliquer la difficulté que j'ai parfois de "passer" une valeur.