Créer un graphe sans l'activer
Résolu
Jolie_Turandot
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Jolie_Turandot Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Jolie_Turandot Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais créer un graphe sans l'activer en VBA.
Donc je m'interdis d'utiliser ActiveChart.truc. Comment faire ?
Mon code actuel est le suivant
Sub Graphe()
Sheets("TORONS").ChartObjects("REPRESENTATION").Activate
Q = 85
For j = 0 To UBound(MarqueurTravees)
Sheets("TORONS").Cells(Q, 15) = MarqueurTravees(j)
Sheets("TORONS").Cells(Q, 16) = 0
Q = Q + 1
Next j
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Range(Sheets("TORONS").Cells(85, 15), Sheets("TORONS").Cells(Q - 1, 15))
.SeriesCollection(1).Values = Range(Sheets("TORONS").Cells(85, 16), Sheets("TORONS").Cells(Q - 1, 16))
.SeriesCollection(1).ChartType = xlXYScatter
.SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(0, 0, 0)
.SeriesCollection(1).Select
With Selection
.MarkerStyle = 9
.MarkerSize = 36
End With
.SeriesCollection(1).Name = "Limite inférieure de la poutre"
.SeriesCollection.NewSeries
.SeriesCollection(2).XValues = Range(Sheets("TORONS").Cells(85, 5), Sheets("TORONS").Cells(R - 1, 5))
.SeriesCollection(2).Values = Range(Sheets("TORONS").Cells(85, 6), Sheets("TORONS").Cells(R - 1, 6))
.SeriesCollection(2).ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(0, 0, 255)
.SeriesCollection(2).Name = "Limite supérieure de la poutre"
.SeriesCollection.NewSeries
.SeriesCollection(3).XValues = Range(Sheets("TORONS").Cells(85, 5), Sheets("TORONS").Cells(R - 1, 5))
.SeriesCollection(3).Values = Range(Sheets("TORONS").Cells(85, 7), Sheets("TORONS").Cells(R - 1, 7))
.SeriesCollection(3).ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection(3).Format.Line.ForeColor.RGB = RGB(0, 0, 255)
.SeriesCollection(3).Name ="Torons"
End Sub
Comment le transformer ?
Merci d'avance.
J'aimerais créer un graphe sans l'activer en VBA.
Donc je m'interdis d'utiliser ActiveChart.truc. Comment faire ?
Mon code actuel est le suivant
Sub Graphe()
Sheets("TORONS").ChartObjects("REPRESENTATION").Activate
Q = 85
For j = 0 To UBound(MarqueurTravees)
Sheets("TORONS").Cells(Q, 15) = MarqueurTravees(j)
Sheets("TORONS").Cells(Q, 16) = 0
Q = Q + 1
Next j
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Range(Sheets("TORONS").Cells(85, 15), Sheets("TORONS").Cells(Q - 1, 15))
.SeriesCollection(1).Values = Range(Sheets("TORONS").Cells(85, 16), Sheets("TORONS").Cells(Q - 1, 16))
.SeriesCollection(1).ChartType = xlXYScatter
.SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(0, 0, 0)
.SeriesCollection(1).Select
With Selection
.MarkerStyle = 9
.MarkerSize = 36
End With
.SeriesCollection(1).Name = "Limite inférieure de la poutre"
.SeriesCollection.NewSeries
.SeriesCollection(2).XValues = Range(Sheets("TORONS").Cells(85, 5), Sheets("TORONS").Cells(R - 1, 5))
.SeriesCollection(2).Values = Range(Sheets("TORONS").Cells(85, 6), Sheets("TORONS").Cells(R - 1, 6))
.SeriesCollection(2).ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(0, 0, 255)
.SeriesCollection(2).Name = "Limite supérieure de la poutre"
.SeriesCollection.NewSeries
.SeriesCollection(3).XValues = Range(Sheets("TORONS").Cells(85, 5), Sheets("TORONS").Cells(R - 1, 5))
.SeriesCollection(3).Values = Range(Sheets("TORONS").Cells(85, 7), Sheets("TORONS").Cells(R - 1, 7))
.SeriesCollection(3).ChartType = xlXYScatterLinesNoMarkers
.SeriesCollection(3).Format.Line.ForeColor.RGB = RGB(0, 0, 255)
.SeriesCollection(3).Name ="Torons"
End Sub
Comment le transformer ?
Merci d'avance.
A voir également:
- Créer un graphe sans l'activer
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un lien pour partager des photos - Guide
- Créer un compte gmail - Guide
- Comment activer le pavé tactile sans souris - Guide
2 réponses
Bonjour,
A essayer, l'objet se cree, mais je n'ai pas vos donnees
A essayer, l'objet se cree, mais je n'ai pas vos donnees
Sub Graphe() Dim Graph As ChartObject 'creation objet graph Set Graph = Sheets("TORONS").ChartObjects.Add(Range("D1").Left, Range("D1").Top, 200, 200) 'voir pour position du graph Graph.Name = "PRESENTATION" Q = 85 For j = 0 To UBound(MarqueurTravees) Sheets("TORONS").Cells(Q, 15) = MarqueurTravees(j) Sheets("TORONS").Cells(Q, 16) = 0 Q = Q + 1 Next j With Graph .SeriesCollection.NewSeries .SeriesCollection(1).XValues = Range(Sheets("TORONS").Cells(85, 15), Sheets("TORONS").Cells(Q - 1, 15)) .SeriesCollection(1).Values = Range(Sheets("TORONS").Cells(85, 16), Sheets("TORONS").Cells(Q - 1, 16)) .SeriesCollection(1).ChartType = xlXYScatter .SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(0, 0, 0) .SeriesCollection(1).Select With Selection .MarkerStyle = 9 .MarkerSize = 36 End With .SeriesCollection(1).Name = "Limite inférieure de la poutre" .SeriesCollection.NewSeries .SeriesCollection(2).XValues = Range(Sheets("TORONS").Cells(85, 5), Sheets("TORONS").Cells(R - 1, 5)) .SeriesCollection(2).Values = Range(Sheets("TORONS").Cells(85, 6), Sheets("TORONS").Cells(R - 1, 6)) .SeriesCollection(2).ChartType = xlXYScatterLinesNoMarkers .SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(0, 0, 255) .SeriesCollection(2).Name = "Limite supérieure de la poutre" .SeriesCollection.NewSeries .SeriesCollection(3).XValues = Range(Sheets("TORONS").Cells(85, 5), Sheets("TORONS").Cells(R - 1, 5)) .SeriesCollection(3).Values = Range(Sheets("TORONS").Cells(85, 7), Sheets("TORONS").Cells(R - 1, 7)) .SeriesCollection(3).ChartType = xlXYScatterLinesNoMarkers .SeriesCollection(3).Format.Line.ForeColor.RGB = RGB(0, 0, 255) .SeriesCollection(3).Name = "Torons" End With Set Graph = Nothing End Sub
J'ai cependant un problème : quand je relance la procédure, il y a une erreur au niveau de ".SeriesCollection.NewSeries". On me dit "propriété ou méthode non gérée par cet objet". Que faire ?
Merci d'avance.
Je vais tester en creant un graph bidon
A+
je ne comprends pas ta question.
que veux tu dire quand tu dis que tu veux créer un graphe sans l'activer par VBA?
Pour moi, ce n'est pas clair.
Soit tu crées un graphe manuellement, soit tu passe par vba.
Quel est le pb?
On me demande un graphe sans utiliser ActiveChart. (le pourquoi est obscure pour moi aussi mais peu importe) et plutot quelque chose qui ressemble à ce qui me propose f894009.
J'aimerai savoir comment modifier mon code dans ce sens (les graphes ne sont vraiment pas ma tasse de thé sur VBA, je l'avoue).
Merci d'avance