créer un grphique en vba

loic3869

XLDnaute Occasionnel
Bonjour

Je voudrais créer un graphique en VBA avec les A en ordonnées et les B en abscisses.

J'ai inséré ce code:

ActiveSheet.ChartsObjects("Graph1").Activate
ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(1).Select
ActivateChart.SeriesCollection(1)XValues = "=Réglages!A2:A10000"
ActiveChart.SeriesCollection(1).Values = "=Réglages!B2:B10000"

La ligne ActivateChart.SeriesCollection(1)XValues = "=Réglages!A2:A10000" n'est pas accepté ou est l'erreur ?

Faut-il rajouter d'autres lignes apres avoir defini X et Y ?

Merci d'avance.

Bonne journée.
 

loic3869

XLDnaute Occasionnel
Re : créer un grphique en vba

Merci pierrejean.

J'ai un autre problème maintenant.

Cette ligne n'est pas accepté

ActiveSheet.ChartObjects("Graph1").Activate.

Dans Graph1 je n'ai rien du tout une feuille blanche sans aucun axe.
 

tototiti2008

XLDnaute Barbatruc
Re : créer un grphique en vba

Bonjour loic, Bonjour Pierre Jean,

Le problème ne viendrait-il pas du fait qu'à force de tester ta macro, ton graphique créé ne s'appelle plus "Graph1" mais "Graph2" ?
sur le graphique vide créé, fait un clic droit - Fenêtre graphique et regarde le nom en haut de la fenêtre.
 

loic3869

XLDnaute Occasionnel
Re : créer un grphique en vba

Cela ne marche pas.

Mais j'ai trouvé cette fonction:

Sheets.Add After:=Sheets("Réglages")
ActiveSheet.Name = "Graphique numero1" & Format(Date, "dd-mm-yy")
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Réglages").Range("X2:X10003"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique numero1" & Format(Date, "dd-mm-yy")

Maintenant le graphique s'insère dans une nouvelle feuille et non dans ma feuille "Graph1" comment faire ?

Merci.
 

pierrejean

XLDnaute Barbatruc
Re : créer un grphique en vba

Re

Teste ceci:

Code:
Private Sub CommandButton1_Click()
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("X2:X10003"), PlotBy:=xlColumns
ActiveChart.HasAxis(xlCategory, xlPrimary) = False
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveSheet.Name = "Graphique numero1" & Format(Date, "dd-mm-yy")
End Sub
 

pierrejean

XLDnaute Barbatruc
Re : créer un grphique en vba

Re

Avec ce code tu mettras autant de graphiques en Feuil3 que tu voudras
Par contre je n'ai pas trouvé l'astuce pour les decaler (ils sont les uns au dessus des autres)
Je cherche et si je trouve je reviens sur le fil

Code:
Private Sub CommandButton1_Click()
x = Sheets("Feuil3").ChartObjects.Count
If x <> 0 Then
 num = CInt(Right(Sheets("Feuil3").ChartObjects(x).Chart.ChartTitle.Characters.Text, 1)) + 1
Else
 num = 1
End If
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("X2:X10003"), PlotBy:=xlColumns
ActiveChart.HasAxis(xlCategory, xlPrimary) = False
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil3"
ActiveChart.HasTitle = True
ActiveChart.ChartTitle.Characters.Text = "Graphique" & num
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 391
Messages
2 087 942
Membres
103 679
dernier inscrit
yprivey3