lorrain10
Messages postés10Date d'inscriptionvendredi 4 janvier 2008StatutMembreDernière intervention13 juin 2012
-
12 juin 2012 à 11:20
lorrain10
Messages postés10Date d'inscriptionvendredi 4 janvier 2008StatutMembreDernière intervention13 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à).
________________________
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
lorrain10
Messages postés10Date d'inscriptionvendredi 4 janvier 2008StatutMembreDernière intervention13 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
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
lorrain10
Messages postés10Date d'inscriptionvendredi 4 janvier 2008StatutMembreDernière intervention13 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"
MarcPL
Messages postés172Date d'inscriptionjeudi 8 décembre 2011StatutMembreDernière intervention21 juillet 20132 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 !