Bonjour,
je me suis inspiré d'une macro de SilkyRoad :Exemple d'utilisation des ChartSpaces (05/2007)
pour afficher un graphique dans un userform
la macro fonctionne sans bugger... une gajeur pour moi
Elle ne fait cependant ce que je veux :
afficher une courbe pour les valeurs données à chacune des dates
Les 2 array tag and dailyPnl sont correctement initialisé
Je visualise un graphique qui fait apparaitre 12 entré seulement
la première date est le 1/1/2007 or tout ma serie commence le 2/1/2007
le ne retrouve pas mes valeurs
Il doit y avoir un truc bête que j'ai oublié quelque part
merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Range(StDfirstR).Select IdateRow = Range(StDfirstR).Row ReDim Tag(0 To IcountOc - 1) For i = 0 To (IcountOc - 1) Tag(i) = Cells(IdateRow + i, Ifiledate) Next i '... 'Définit le type de graphique If SGlobalCreditTog.Caption = "Daily Pnl history" Then 'line daily Pnl history Cht.Type = C.chChartTypeLineStacked Else 'daily Pnl distribution Cht.Type = C.chChartTypeColumnClustered3D End If 'Récupération des ordonnées pour chaque série ReDim DailyPnl(0 To IcountOc - 1) For i = 0 To (IcountOc - 1) DailyPnl(i) = Cells(IdateRow + i, IdailyPnl) Next i With Cht 'Ajoute le tag d'abscisses .SetData C.chDimCategories, C.chDataLiteral, Tag 'Ajoute la légenge pour chaque serie .SeriesCollection(0).Caption = "Pnl Series" & SHiarchyKey 'Affiche valeur de chaque point .SeriesCollection(0).DataLabelsCollection.Add 'Définit la position des valeurs affichées (au dessus par défaut) 'Dans la barre pour cet exemple .SeriesCollection(0).DataLabelsCollection(0).Position = chLabelPositionCenter 'Les valeurs de l'histogramme seront affichées en couleur blanche. .SeriesCollection(0).DataLabelsCollection(0).Font.Color = RGB(255, 255, 255) 'Ajoute le tag d'ordonnées ( DailyPnl() ) .SeriesCollection(0).SetData C.chDimValues, C.chDataLiteral, DailyPnl 'Définit la couleur de la série .SeriesCollection(0).Interior.Color = 500 End With
Partager