Graphique avec MSChart, modification du titre

Signaler
Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012
-
Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012
-
Bonjour,

J'essaie de dessiner un graphique dans un userform. J'ai trouver un code sur le site qui fonctionne bien mais je souhaite le modifier pour adapter le graphique.
J'ai réussi à changer les échelles des axes, à faire un graphique semi-log avec les quadrillage qui vont bien et à afficher les titres (du graphique et des axes).
Mon problème est que je n'arrive pas à modifier le nom par défaut des titres qui sont :
Titre du graphique
Titre de l'axe

Voici un extrait du code qui provoque une erreur lorsque j'essaie de modifier un titre; ici celui du graphique :

oChart.HasTitle = True 'Cette ligne me permet d'afficher le titre et ça fonctionne
oChart.ChartTitle.Characters.Text = "Courbe granulométrie" ' Cette ligne provoque une erreur : Propriété ou Méthode non gérée par cette objet

Et là je n'arrive pas à comprendre l'aide MSVBA, ChartTitle est-ce un objet ou une propriété (je pense que mon erreur est là).

Je précise, je débute en VBA.

8 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Où as-tu "vu" cette propriété ?
La lecture de l'aide VBA (à toujours consulter en priorité) ===>>

.HasTitle = True
. ChartTitle.Text = "February Sales"



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012

Voici l'extrait de l'aide

[i]ChartTitle, propriété
Voir aussiS'applique àExempleDétailsCette propriété renvoie un objet ChartTitle qui représente le titre du graphique spécifié. En lecture seule.

Exemple
Cet exemple montre comment définir le texte du titre du graphique Chart1.

With Charts("Chart1")
.HasTitle = True
.ChartTitle.Text = "First Quarter Sales"
End With/i

Avec ce code :

With oChart
.HasTitle = True 'Cette ligne me permet d'afficher le titre et ça fonctionne
.ChartTitle.Characters.Text = "Courbe granulométrie"
End With

j'ai la même erreur
Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012

Dans le post précédent, 3ème ligne en partant de la fin, il faut lire :

.ChartTitle.Text = "Courbe granulométrie"
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Je ne comprends alors pas !
Où et comment as-tu donc déclaré et défini oChart ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012

Ci-joint l'intégralité du code (80% a été trouvé sur le site comme indiqué dans mon premier post).

Dim oChart
Dim oSeries1, oSeries2
Dim oAxis1, oAxis2, oConst
Dim S1(11), S2(11), S3(11) As Variant

Private Sub CommandButton1_Click()

'on crée les tableaux de variables
For i = 1 To 10
S1(i) = i + 1
S2(i) = i * 0.01
S3(i) = i * 0.005
Next
'on efface tout
ChartSpace1.Clear
Set oConst = ChartSpace1.Constants
' Création diagramme dans le ChartSpace
Set oChart = ChartSpace1.Charts.Add
' Ajout 1ere série de type XYscatter plot
Set oSeries1 = oChart.SeriesCollection.Add
oSeries1.Caption = "Current"
oSeries1.Type = oConst.chChartTypeScatterSmoothLine ' on peut changer le type, se reférer à l'explorateur d'objet
oSeries1.SetData oConst.chDimXValues, oConst.chDataLiteral, S1()
oSeries1.SetData oConst.chDimYValues, oConst.chDataLiteral, S2()
' Ajout 2eme série de type XYscatter plot
Set oSeries2 = oChart.SeriesCollection.Add
oSeries2.Caption = "estimate"
oSeries2.Type = oConst.chChartTypeScatterSmoothLine
oSeries2.SetData oConst.chDimXValues, oConst.chDataLiteral, S1()
oSeries2.SetData oConst.chDimYValues, oConst.chDataLiteral, S3()
'' les Axes
'axe des ordonnés
Set oAxis1 = oChart.Axes(oConst.chAxisPositionLeft)
oAxis1.Scaling.Maximum = 100
oAxis1.Scaling.Minimum = 0
oAxis1.MajorUnit = 10
oAxis1.NumberFormat = "0"
oAxis1.HasMajorGridlines = True
With oAxis1
.HasTitle = True
'With .AxisTitle.Text = "Tamis (mm)"
'End With
End With
'axe des abscisses
Set oAxis2 = oChart.Axes(oConst.chAxisPositionBottom)
oAxis2.Scaling.Maximum = 1000
oAxis2.Scaling.Minimum = 0.001
oAxis2.MajorUnit = 10
oAxis2.MinorUnit = 1
oAxis2.HasMajorGridlines = True
oAxis2.HasMinorGridlines = True
Set oAxis2 = oChart.Axes(oConst.chAxisPositionBottom).Scaling
oAxis2.Type = oConst.chScaleTypeLogarithmic
'on indique la légende
oChart.HasLegend = True
oChart.Legend.Position = oConst.chLegendPositionBottom
'Définition du titre du graphique
oChart.HasTitle = True
oChart.ChartTitle.Text = "Courbe granulométrie"
'on définit la couleur de fonds
oChart.PlotArea.Interior.Color = "white"
'on peut définir toutes les propriétés supplémentaires en se référant à l'explorateur sous "spacechart"

End Sub
Messages postés
172
Date d'inscription
jeudi 8 décembre 2011
Statut
Membre
Dernière intervention
21 juillet 2013
2
Bonjour !     Par hasard, il n'y aurait pas quelque chose en trop par rapport à l'aide ?
              .ChartTitle.Characters.Text = ...

___________________________________________________________________________________________________________________
Comme la vitesse de la lumière est supérieure à celle du son, certains ont l'air brillant avant d'avoir l'air con !
Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012

Messages postés
10
Date d'inscription
vendredi 4 janvier 2008
Statut
Membre
Dernière intervention
13 juin 2012

J'ai essayé avec et sans "Characters" voir mon post du 12/06 à 11:49.