Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

A mon grand étonnement on ne peut pas cliquer sur Fenêtre Graphique la case est grisé et même quand un graphique est présent.Comment faire ? Normalement il s'apelle bien "Graph1".

Merci.
 

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.
 

loic3869

XLDnaute Occasionnel
Re : créer un grphique en vba

C'sst bon j'ai trouvé comment mettre un nom aux axes.

Et j'ai encore 2 questions:

Comment effacer l'echelle des x et comment afficher ce graphique dans une page graphique et nom Sheets.

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
 

loic3869

XLDnaute Occasionnel
Re : créer un grphique en vba

Merci pierrejean décidemment vous m'aidez beaucoup et je vous en remercie.

Maintenant je souhaiterais que mon graphique s'affiche dans une feuille spécifique.

Merci.
 

pierrejean

XLDnaute Barbatruc
Re : créer un grphique en vba

Re

Qu'entends-tu par feuille specifique ?

Moi avec ce code j'obtiens bien une feuille differenciée dans l'explorateur de projet
Son type est 4 alors que les autres feuilles sont a -4167
 

loic3869

XLDnaute Occasionnel
Re : créer un grphique en vba

Je veux dire sur ma feuil3.

Et j'ai un autre problèm equand je clique deux fois sur le bouton le nom de fichier est le même comment insérer un compteur qui incrémente le nom du fichier.

Merci.
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…