antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 2011
-
17 déc. 2007 à 14:28
antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 2011
-
17 déc. 2007 à 16:59
Bonjour,
- J'ai une application VB6, avec des cases de critères à cochées, et un bouton.
- J'ai un document excel avec 2 graphiques en camembert vides.
Ma question : j'aimerais, sur le clik du bouton VB6, et selon les critères, changer le nombre de "séparations" (lègendes) des graphiques excel, ainsi que les valeurs des graphs.
Remarques : pour changer les valeurs des cellules excel j'utilise la méthode suivante :
Dim xlApp As Excel.Application
Set xlApp = New Excel.Application
xlApp.Application.DisplayAlerts = False
xlApp.Workbooks.Open FileName:=App.Path & "\Reporting_Client_Vide.xls", Editable:=True, ReadOnly:=True
xlApp.ActiveSheet
With xlApp.Sheets("Fiche de Synthèse")
.Range("C1").Value = LblRsClient
.Range("C3").Value = "Situation au " & Date
End With
antoine_ferard
Messages postés222Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention18 février 20113 17 déc. 2007 à 16:59
ok, j'ai trouvé par moi-même, je suis content :) je met donc la solution que j'ai trouvé.
1) Je créé les 2 graph dans excel, en définissant le type de graph (par exemple, camembert), et le titre. C'est tout.
2) Dans VB6, je change la "sélection" des valeurs des graphes, en choisissant 2 colonnes, la 1ère pour le nom des légendes, la seconde pour les valeurs :
Dim xlApp As Excel.Application
Dim ch As ChartObject
''Sélectionne le Graph 1
Set ch = Worksheets(Feuille1).ChartObjects(1)
''Entre les nouvelles valeurs du graph dans l'onglet 2
xlApp.Sheets(Feuille2).Range("A1").Value = "Jean paul"
xlApp.Sheets(Feuille2).Range("B1").Value = 60
xlApp.Sheets(Feuille2).Range("A2").Value = "Thierry"
xlApp.Sheets(Feuille2).Range("B2").Value = 56
'trace le graphe en prenant les données de la cellule A1 à la cellule B2
ch.Chart.SetSourceData Source:=Worksheets(Feuille2).Range("A1:B2")
''Sélectionne le Graph 2
Set ch = Worksheets(Feuille1).ChartObjects(2)
...etc...
''***************************************************************************
...à votre service
Thanks & Peace
Tonio