Graphique avec MSChart, modification du titre

lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012 - 12 juin 2012 à 11:20
lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012 - 13 juin 2012 à 11:08
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2012 à 11:41
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
0
lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012
12 juin 2012 à 11:47
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
0
lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012
12 juin 2012 à 11:49
Dans le post précédent, 3ème ligne en partant de la fin, il faut lire :

.ChartTitle.Text = "Courbe granulométrie"
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
12 juin 2012 à 12:31
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012
12 juin 2012 à 13:35
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
0
MarcPL Messages postés 172 Date d'inscription jeudi 8 décembre 2011 Statut Membre Dernière intervention 21 juillet 2013 2
12 juin 2012 à 16:40
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 !
0
lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012
12 juin 2012 à 16:40
0
lorrain10 Messages postés 10 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 13 juin 2012
13 juin 2012 à 11:08
J'ai essayé avec et sans "Characters" voir mon post du 12/06 à 11:49.
0
Rejoignez-nous