Graph excel via VB6

Résolu
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 - 17 déc. 2007 à 14:28
antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 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

De la même manière j'aimerais faire un graph...

...à votre service
Thanks & Peace
Tonio

1 réponse

antoine_ferard Messages postés 222 Date d'inscription mercredi 5 avril 2006 Statut Membre Dernière intervention 18 février 2011 3
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
3
Rejoignez-nous