Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Probleme de graph dans une macro VBA

3 réponses
Avatar
Drikc
bonjour à tous,
Voila mon probleme, j'ai une feuille du type

Temps h F104BA1 F104BA2
0,002776 8,83E+11 9,29E+11
0,524621 7,43E+12 7,17E+12
1,045812 6,68E+12 6,46E+12
1,567563 6,19E+11 6,12E+11

si je fais un graph sans macro : OK
si j'utilise ma macro il utilise les numero de lignes comme valeurs pour
l'axe X et me mets Temps h en courbe alors que c'est normalement mes valeurs
X, si j'enleve les commentaire devant ActiveChart.SetSourceData le prog ne
marche plus.
voici mon prog tout ceci est dans une boucle avec la variable feuil qui
s'incrémente,
quand a lign et col ils selectionnent bien mes deux coins de tableau.
je ne voies vraiment pas comment faire.

Sheets(feuil).Select
Range(Cells(2, 1), Cells(lign, col)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
'ActiveChart.SetSourceData Source:=Sheets(feuil).Range(Cells(2, 1),
Cells(lign, col))
ActiveChart.Location Where:=xlLocationAsObject, Name:=nomfeuil
ActiveChart.Axes(xlValue).Select
With ActiveChart.Axes(xlValue)
.MinimumScale = 1000000
.MaximumScale = 100000000000000#
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLogarithmic
.DisplayUnit = xlNone
End With
Selection.TickLabels.NumberFormat = "0.00E+00"
ActiveChart.ChartArea.Select
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = nomfeuil
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Temps en
heures"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Ri"
End With
ActiveChart.ChartArea.Select

Merci de votre aide...

3 réponses

Avatar
Francois
bonjour à tous,
Voila mon probleme, j'ai une feuille du type

Temps h F104BA1 F104BA2
0,002776 8,83E+11 9,29E+11
0,524621 7,43E+12 7,17E+12
1,045812 6,68E+12 6,46E+12
1,567563 6,19E+11 6,12E+11

si je fais un graph sans macro : OK
si j'utilise ma macro il utilise les numero de lignes comme valeurs pour
l'axe X et me mets Temps h en courbe alors que c'est normalement mes valeurs
X, si j'enleve les commentaire devant ActiveChart.SetSourceData le prog ne
marche plus.
(...)

Sheets(feuil).Select
Range(Cells(2, 1), Cells(lign, col)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
'ActiveChart.SetSourceData Source:=Sheets(feuil).Range(Cells(2, 1),
(...)


Bonsoir,

Le SetSourceData est indispensable pour que ta macro fonctionne comme tu
veux, mais il a besoin d'un ", PlotBy:= xlColumns" après la définition
de la source.

--
François L

Avatar
Drikc
bonjour,
Merci mais je viens d'essayer et ce n'est pas ca, l'erreur existe toujours
en fait elle vient du range pourtant je l'utilise avant en selection et il
marche tres bien mais dans active chart non.
Si je mets cette ligne en commentaire les graph se font mais avec les
numeros de lignes en axe X au lieu des heure

ActiveChart.SetSourceData Source:=Sheets(feuil).Range(Cells(2, 1),
Cells(lign, col)), PlotBy _
:=xlColumns

Merci de m'aider...


bonjour à tous,
Voila mon probleme, j'ai une feuille du type

Temps h F104BA1 F104BA2
0,002776 8,83E+11 9,29E+11
0,524621 7,43E+12 7,17E+12
1,045812 6,68E+12 6,46E+12
1,567563 6,19E+11 6,12E+11

si je fais un graph sans macro : OK
si j'utilise ma macro il utilise les numero de lignes comme valeurs pour
l'axe X et me mets Temps h en courbe alors que c'est normalement mes valeurs
X, si j'enleve les commentaire devant ActiveChart.SetSourceData le prog ne
marche plus.
(...)

Sheets(feuil).Select
Range(Cells(2, 1), Cells(lign, col)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
'ActiveChart.SetSourceData Source:=Sheets(feuil).Range(Cells(2, 1),
(...)


Bonsoir,

Le SetSourceData est indispensable pour que ta macro fonctionne comme tu
veux, mais il a besoin d'un ", PlotBy:= xlColumns" après la définition
de la source.

--
François L




Avatar
Francois
bonjour,
Merci mais je viens d'essayer et ce n'est pas ca, l'erreur existe toujours
en fait elle vient du range pourtant je l'utilise avant en selection et il
marche tres bien mais dans active chart non.



Bonsoir,

Si tu veux ce que tu souhaites, tu as besoin du PlotBy. Maintenant,
effectivement le range cells cells ne fonctionne pas, je ne sais pas
pourquoi. Si tu essayes avec un range de type ("A1:B5"), tu verras que
ça fonctionne. Est-ce que tu ne peux pas adapter ta macro pour utiliser
une syntaxe range de ce type ?

--
François L