Soyez le premier à donner votre avis sur cette source.
Vue 37 257 fois - Téléchargée 2 914 fois
Private Sub UserForm_Activate() Dim oChart, oSeries1, oSeries2 Dim oAxis1, oAxis2, oConst Dim S1(43), S2(43), S3(43) As Variant 'on crée les tableaux de variables For i = 1 To 43 S1(i) = Cells(i + 1, 2) S2(i) = Cells(i + 1, 3) S3(i) = Cells(i + 1, 4) 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 Set oAxis1 = oChart.Axes(oConst.chAxisPositionLeft) oAxis1.Scaling.Maximum = 0.05 oAxis1.Scaling.Minimum = 0.025 oAxis1.NumberFormat = "0.0%" oAxis1.HasMajorGridlines = True Set oAxis2 = oChart.Axes(oConst.chAxisPositionBottom) oAxis2.Scaling.Maximum = 30 oAxis2.Scaling.Minimum = 0 oAxis2.NumberFormat = "0" oAxis2.HasMajorGridlines = True 'on indiue la légende oChart.HasLegend = True oChart.Legend.Position = oConst.chLegendPositionBottom '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
25 juil. 2012 à 12:10
J'ai un petit soucis, cependant... Je n'arrive pas à afficher la courbe créée... Même en ayant recopié gentillement le code dans un nouveau classeur, j'ai le même problème. La zone de tracé est bien présente, la légende, le quadrillage, les axes, les couleurs : tout est bon. Sauf les courbes, que je ne vois pas. Le "Count" de la propriété "Points" est à 0 à chaque fois. Cela pourrait-il expliquer le problème ?
Y a-t-il autre chose à activer dans Excel que les contrôles "Microsoft Office Chart" pour pouvoir faire fonctionner ce code ?
(En espérant que ce topic, vieux de 5 ans déjà, soit toujours suivi :D)
20 avril 2009 à 14:30
Tout d'abord je te remercie pour cette astuce du feu de Dieu....Cependant étant un super novice, j'ai une légère question:
comment fait-on pour avoir l'axe des abcisses en format "hh:mm:ss"...
j'ai réessayer encore et encore et je n'y arrive pas. Si des fois tu peux remettre le nez dans ce prog qui date, et m'indiquer une piste voire une solution, je t'en serai reconaissant.
D'avance merci.
4 juil. 2007 à 10:09
il se peut que le composant "microsoft office chart 9" ne soit pas disponible, cela dépend de la date de "microsoft office", il faut que tu cochesle composant "microsoft office chart 10" dans la barre d'outil du userform.
Il se peut également que tu n'es plus de chartspace, a toi de le redessiner.
A bientot
4 juil. 2007 à 09:42
Pour repondre à Gadzou:
_"Oconst" est un objet crée dans le code, il ne t'indiquera pas ce que tu peux déployer comme fonction, le vrai composant utilisé est chartspace, essaye avec lui.
_pour les graphiques 3D je vauis voie ce que je peux faire.
28 juin 2007 à 17:26
Merci d'avance !!! :-) !
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.