Bonjour, je souhaite créer un graphique à l'aide de VBA qui représenterait des segments entre différents points définis sur une de mes feuilles. J'ai déjà créé le graph à l'aide de VBA mais je coince au niveau de la réalisation des segments. Je pense que mon erreur se situe au niveau de l'insertion de mes séries mais je ne vois pas comment écrire autrement que je veux un segment entre un point de coordonnées (x,y) et un autre de coordonnées (x',y') sachant que plusieurs segments vont être intégrer dans le graph. Je vous transemts tout de même ce que j'ai réalisé pour l'instant : Dim Grf As ChartObject Dim Sh As Worksheet Dim i As Integer Dim j As Integer Dim k As Integer Dim c As Integer c = 1 i = 7 j = 7 k = 7 Set Sh = Sheets("Graphique" ) 'On supprime tous les graphiques For Each Grf In Sh.ChartObjects Grf.Delete Next Grf 'On crée notre graphique Set Grf = Sh.ChartObjects.Add(140, 10, 500, 300) 'On test la contenance des cellules des noeuds' Do While IsEmpty(Cells(i, 18)) <> True With Grf.Chart .ChartType = xlLineMarkers .SeriesCollection.NewSeries Do While Cells(i, 18) <> Cells(j, 5) j = j + 1 Loop Do While Cells(i, 19) <> Cells(k, 5) k = k + 1 Loop With .SeriesCollection(c) .Values = Range(Cells(j, 7), Cells(k, 7)) .XValues = Range(Cells(j, 6), Cells(k, 6)) End With End With c = c + 1 i = i + 1 'on réiniialise les compteurs de ligne" k = 7 j = 7 Loop End Sub
Marsh Posté le 10-04-2016 à 10:00:59
Bonjour,
je souhaite créer un graphique à l'aide de VBA qui représenterait des segments entre différents points définis sur une de mes feuilles.
J'ai déjà créé le graph à l'aide de VBA mais je coince au niveau de la réalisation des segments. Je pense que mon erreur se situe au niveau de l'insertion de mes séries mais je ne vois pas comment écrire autrement que je veux un segment entre un point de coordonnées (x,y) et un autre de coordonnées (x',y') sachant que plusieurs segments vont être intégrer dans le graph.
Je vous transemts tout de même ce que j'ai réalisé pour l'instant :
Dim Grf As ChartObject
Dim Sh As Worksheet
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim c As Integer
c = 1
i = 7
j = 7
k = 7
Set Sh = Sheets("Graphique" )
'On supprime tous les graphiques
For Each Grf In Sh.ChartObjects
Grf.Delete
Next Grf
'On crée notre graphique
Set Grf = Sh.ChartObjects.Add(140, 10, 500, 300)
'On test la contenance des cellules des noeuds'
Do While IsEmpty(Cells(i, 18)) <> True
With Grf.Chart
.ChartType = xlLineMarkers
.SeriesCollection.NewSeries
Do While Cells(i, 18) <> Cells(j, 5)
j = j + 1
Loop
Do While Cells(i, 19) <> Cells(k, 5)
k = k + 1
Loop
With .SeriesCollection(c)
.Values = Range(Cells(j, 7), Cells(k, 7))
.XValues = Range(Cells(j, 6), Cells(k, 6))
End With
End With
c = c + 1
i = i + 1
'on réiniialise les compteurs de ligne"
k = 7
j = 7
Loop
End Sub
Je vous remercie d'avance pour votre aide