OVH Cloud OVH Cloud

Paramétrer: SeriesCollection.XValues à Range...

4 réponses
Avatar
YannX
Bonne Nuit / Bonjour

Appelant Excel en VB pour grapher une courbe,
je ne peux parvenir à bien remplir les zones des deux séries !

ActiveChart.SeriesCollection(iT).XValues = "=Feuil1!D2:D" & (2 * nbLigs + 1)
----> Erreur 1004

ActiveChart.SeriesCollection(iT).XValues = "=Feuil1!R2C4:R11C4"
est le seul format de plage à passer ? ? ?

Et pourtant le mode L1C1 n'est PAS coché dans le classeur !


Ce qui m'amène à tenter de poser les questions suivantes :

1°/ comment forcer Excel à accepter une expression caractère
assez facile a regénérer....(il y a plusieurs fonctions....)

2°/ Peut-on utiliser d'autres fonctions/méthodes pour charger
les séries de nuages de points directement :
Etant donné que la seule documentation utile m'est fournie
par l'enregistreur de macros d'excel......
je n'ai pas encore réussi à faire passer :

- ni: ActiveChart.SetSourceData Source:=Sheets(1).Range("D2:D21"),
PlotBy:=xlColumns

-ni: ActiveChart.ChartWizard....

Et tout cela pour gérer moi-meme des courbes analogues à
un nuage de points d'expérience avec une simple tendance en régression
polynomiale.....

Des idées....
J'espère que la nuit du WE me portera conseil...
@+
Y

4 réponses

Avatar
Alain CROS
Bonjour

Un petit exemple pour des données en C1:D15

Sub LaCourbe()
Dim nbLigs&
nbLigs = 7&
With ActiveSheet
With .[A1]
.Parent.ChartObjects.Add .Left, .Top, _
.Width * 8&, .Height * 20&
End With
With .ChartObjects(1&).Chart
.ChartType = xlXYScatterSmooth
.SetSourceData ActiveSheet.Range("C1:D" & _
(2& * nbLigs + 1&))
End With
End With
End Sub

Alain CROS

-----Original Message-----
Bonne Nuit / Bonjour

Appelant Excel en VB pour grapher une courbe,
je ne peux parvenir à bien remplir les zones des deux
séries !


ActiveChart.SeriesCollection(iT).XValues = "þuil1!D2:D"
& (2 * nbLigs + 1)

----> Erreur 1004

ActiveChart.SeriesCollection(iT).XValues = "þuil1!
R2C4:R11C4"

est le seul format de plage à passer ? ? ?

Et pourtant le mode L1C1 n'est PAS coché dans le
classeur !



Ce qui m'amène à tenter de poser les questions suivantes :

1°/ comment forcer Excel à accepter une expression
caractère

assez facile a regénérer....(il y a plusieurs
fonctions....)


2°/ Peut-on utiliser d'autres fonctions/méthodes pour
charger

les séries de nuages de points directement :
Etant donné que la seule documentation utile m'est fournie
par l'enregistreur de macros d'excel......
je n'ai pas encore réussi à faire passer :

- ni: ActiveChart.SetSourceData Source:=Sheets
(1).Range("D2:D21"),

PlotBy:=xlColumns

-ni: ActiveChart.ChartWizard....

Et tout cela pour gérer moi-meme des courbes analogues à
un nuage de points d'expérience avec une simple tendance
en régression

polynomiale.....

Des idées....
J'espère que la nuit du WE me portera conseil...
@+
Y


.



Avatar
YannX
Bonjour Mr

Merci pour cette réponse, déjà adaptée -merci de l'attention-
Je vais regarder dès ce matin, d'autant plus que je viens
de trouver un autre Post-> contributeur avec le même problème semble-t-il !
@+bientôt
YannX

PS
tu passes par un graphique imbriqué : cela donne-t-il des différences
avec la feuille.

-> comment peut-on cibler l'échelle dès l'appel de Charts.Add
(pour définir le périmètre de la zone par deux points extrêmes)
(qui définiraient la diagonale de l'espace d'echelle graphique)
En effet, quand j'initialise ma feuille Excel graphique en fenêtre XL
moyenne
cette taille reste fixe, même en passant en plein écran, même en
manip.directe souris !?!

-> jusqu'a présent, j'utilise /j'essaye/ ChartType = xlXYScatters et
xlXYScatterSmoothNoMarkers
Mais la première série se fait toujours en deux series distinctes
seulement en Y(i)
j'essayais de supprimer la série initiée au Chart.Add pour les recréer,
d'ou mon msg.
-> peut-etre ta façon de créer le graphe by-passe ce problème....



Merci et @bientot





"Alain CROS" a écrit dans le message de
news:093401c4d41f$f6ab9090$
Bonjour

Un petit exemple pour des données en C1:D15

Sub LaCourbe()
Dim nbLigs&
nbLigs = 7&
With ActiveSheet
With .[A1]
.Parent.ChartObjects.Add .Left, .Top, _
.Width * 8&, .Height * 20&
End With
With .ChartObjects(1&).Chart
.ChartType = xlXYScatterSmooth
.SetSourceData ActiveSheet.Range("C1:D" & _
(2& * nbLigs + 1&))
End With
End With
End Sub

Alain CROS

-----Original Message-----
Bonne Nuit / Bonjour

Appelant Excel en VB pour grapher une courbe,
je ne peux parvenir à bien remplir les zones des deux
séries !


ActiveChart.SeriesCollection(iT).XValues = "þuil1!D2:D"
& (2 * nbLigs + 1)

----> Erreur 1004

ActiveChart.SeriesCollection(iT).XValues = "þuil1!
R2C4:R11C4"

est le seul format de plage à passer ? ? ?

Et pourtant le mode L1C1 n'est PAS coché dans le
classeur !



Ce qui m'amène à tenter de poser les questions suivantes :

1°/ comment forcer Excel à accepter une expression
caractère

assez facile a regénérer....(il y a plusieurs
fonctions....)


2°/ Peut-on utiliser d'autres fonctions/méthodes pour
charger

les séries de nuages de points directement :
Etant donné que la seule documentation utile m'est fournie
par l'enregistreur de macros d'excel......
je n'ai pas encore réussi à faire passer :

- ni: ActiveChart.SetSourceData Source:=Sheets
(1).Range("D2:D21"),

PlotBy:=xlColumns

-ni: ActiveChart.ChartWizard....

Et tout cela pour gérer moi-meme des courbes analogues à
un nuage de points d'expérience avec une simple tendance
en régression

polynomiale.....

Des idées....
J'espère que la nuit du WE me portera conseil...
@+
Y


.



Avatar
twinley
Bonjour,

Pour entrer les paramètres directement dans XValue
il y a diverses formes

ActiveChart.SeriesCollection(7).Values = TLb ' ex :
"={3534,9.3533,08}"

il faut faire attention au séparateur de décimale qu'il faudra convertir
TLb = Application.Substitute(1 * Format(ydroiteparafin, "#####.00"), ",",
".")
ce que tu vois dans la boite des series doit être anglicisé dans ton code
VBA

sinon quelques lectures
http://www.google.fr/search?hl=fr&q=XValues+group%3Amicrosoft.public.fr.excel&meta
--
à+twinley
"YannX" a écrit dans le message de
news:
Bonne Nuit / Bonjour

Appelant Excel en VB pour grapher une courbe,
je ne peux parvenir à bien remplir les zones des deux séries !

ActiveChart.SeriesCollection(iT).XValues = "þuil1!D2:D" & (2 * nbLigs +
1)

----> Erreur 1004

ActiveChart.SeriesCollection(iT).XValues = "þuil1!R2C4:R11C4"
est le seul format de plage à passer ? ? ?

Et pourtant le mode L1C1 n'est PAS coché dans le classeur !


Ce qui m'amène à tenter de poser les questions suivantes :

1°/ comment forcer Excel à accepter une expression caractère
assez facile a regénérer....(il y a plusieurs fonctions....)

2°/ Peut-on utiliser d'autres fonctions/méthodes pour charger
les séries de nuages de points directement :
Etant donné que la seule documentation utile m'est fournie
par l'enregistreur de macros d'excel......
je n'ai pas encore réussi à faire passer :

- ni: ActiveChart.SetSourceData Source:=Sheets(1).Range("D2:D21"),
PlotBy:=xlColumns

-ni: ActiveChart.ChartWizard....

Et tout cela pour gérer moi-meme des courbes analogues à
un nuage de points d'expérience avec une simple tendance en régression
polynomiale.....

Des idées....
J'espère que la nuit du WE me portera conseil...
@+
Y




Avatar
YannX
Bonjour Twin

et merci de ta nouvelle piste

Je reponds a vous deux, -Alain CROS-
pour dire que je n'y suis pas encore..
Mais je vais inventorier les lectures conseillées.

L'introduction directe m'interesse fort !
J'ai déjà vu le problème du point décimal, ok merci.

Toutefois ma difficulté immédiate consiste a gerer l'objet
graphique créé initialement (en Embedded ou New graph !)
pour pouvoir lui appliquer la bonne SeriesCollection...

et que vient me faire cette instruction :
.PlotArea.Select dans la macro....

@+

PS. J'ai fait tellement d'esssais dans toutes sortes,
que cela commence vraiement a se mélanger...


"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:
Bonjour,

Pour entrer les paramètres directement dans XValue
il y a diverses formes

ActiveChart.SeriesCollection(7).Values = TLb ' ex :
"={3534,9.3533,08}"

il faut faire attention au séparateur de décimale qu'il faudra convertir
TLb = Application.Substitute(1 * Format(ydroiteparafin, "#####.00"), ",",
".")
ce que tu vois dans la boite des series doit être anglicisé dans ton code
VBA

sinon quelques lectures

http://www.google.fr/search?hl=fr&q=XValues+group%3Amicrosoft.public.fr.excel&meta >

--
à+twinley
"YannX" a écrit dans le message de
news:
Bonne Nuit / Bonjour

Appelant Excel en VB pour grapher une courbe,
je ne peux parvenir à bien remplir les zones des deux séries !

ActiveChart.SeriesCollection(iT).XValues = "þuil1!D2:D" & (2 * nbLigs
+


1)
----> Erreur 1004

ActiveChart.SeriesCollection(iT).XValues = "þuil1!R2C4:R11C4"
est le seul format de plage à passer ? ? ?

Et pourtant le mode L1C1 n'est PAS coché dans le classeur !


Ce qui m'amène à tenter de poser les questions suivantes :

1°/ comment forcer Excel à accepter une expression caractère
assez facile a regénérer....(il y a plusieurs fonctions....)

2°/ Peut-on utiliser d'autres fonctions/méthodes pour charger
les séries de nuages de points directement :
Etant donné que la seule documentation utile m'est fournie
par l'enregistreur de macros d'excel......
je n'ai pas encore réussi à faire passer :

- ni: ActiveChart.SetSourceData Source:=Sheets(1).Range("D2:D21"),
PlotBy:=xlColumns

-ni: ActiveChart.ChartWizard....

Et tout cela pour gérer moi-meme des courbes analogues à
un nuage de points d'expérience avec une simple tendance en régression
polynomiale.....

Des idées....
J'espère que la nuit du WE me portera conseil...
@+
Y