Copier-coller graph excel dans VB [Résolu]

Signaler
Messages postés
10
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
12 mars 2005
-
Messages postés
23
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
15 mars 2005
-
Bonjour à tous,

je souhaite copier un graph se trouvant dans une feuille Excel depui
VB, à laquelle j'accède sans souci mais je n'arrive pas à le coller
dans VB, toujours un problème d'objet;

sinon, serait-il plus simple de créer ce graph à partir des valeurs de mon tableau directement?


En fait je ne trouve aucune syntaxe
correcte traitant des graphiques excel sous VB mais je continue de
chercher donc si quelqu'un a un ptit conseil ou une piste merci.

kenny_dfc

2 réponses

Messages postés
23
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
15 mars 2005

Enfin, c est bon!!!!
Alors moi le programme il créé un graphe excel a partir de VB ( dc ca ca ne
doit pas t´interesser car tu as deja le graphe ds excel enfin apparemment) et
apres il copie le graphe dans VB. Il faut dc que tu créés une Imagebox dans
VB. Je te mets tt le programme, si t´as des ? n´hésites pas mais plutot sur
mon mail: [mailto:thomas.vukelic@airliquide.com thomas.vukelic@airliquide.com], je l aurais bcp plus vite.Thomas

Option Explicit
Sub CreationGraphiqueRéponses()
'Crée le graphique pour la revue éditée dans la fenetre Principale
'-Statistique des réponses renseignées
Dim Langue As String
Dim AmortissementAir, AmortissementAzote, i As Integer
Dim xlApp, xlSheet, xlGraph As Object

'Mise à jour de l'indicateur graphique
'Principale.Graphique = "CreationGraphiqueRéponses"
'On Error GoTo Fin
Screen.MousePointer = vbHourglass
'Informe "Ouverture de Excel", "Excel openning"
'Calcul des données nécessaires au graphique
AmortissementAir = "12"
AmortissementAzote = "20"
'Ouverture d'une instance d'Excel
Set xlApp = CreateObject("Excel.Application")
'Excel travaille en arrière-plan
xlApp.Visible = True
xlApp.DisplayAlerts = True 'Pas de message intempestifs au moment de la fermeture
'Ajout d'un classeur
xlApp.Workbooks.Add
'Ajout d 'une feuille dans le classeur
Set xlSheet = xlApp.Workbooks(1).Sheets(1)
'Informe "Création du graphique", "Preparation of the chart"
'Ecriture des légendes nécessaires au graphique
'Langue = Principale.ComboLangueLogiciel.Text
xlSheet.Range("A1").Select
If Langue = "Français" Then
xlSheet.Range("A1").FormulaR1C1 = "Amortissement"
Else
xlSheet.Range("A1").FormulaR1C1 = "Amortissement"
End If
xlSheet.Range("B1").FormulaR1C1 = Str(AmortissementAir)
xlSheet.Range("C1").FormulaR1C1 = Str(AmortissementAzote)
'Ajout d'un graphique
xlApp.Charts.Add after:=xlApp.Worksheets("Feuil1")

With xlApp.ActiveChart
.ChartType = 54 'xl3DPieExploded
.SetSourceData Source:=xlSheet.Range("A1:C8"), PlotBy:=8 ' _
'xlColumns
'.Location Where:=2, Name:="Graph1" 'xlLocationAsObject
'.HasTitle = False
.ApplyDataLabels 2, False
'Suppression du rectangle gris
.PlotArea.Select
xlApp.Selection.ClearFormats
'Grossissement de la police de la légende
.Legend.Select
xlApp.Selection.AutoScaleFont = True
With xlApp.Selection.Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 14
End With
'Déplacement de la légende
xlApp.Selection.Left = 540

'Grossissement de la police des étiquettes
.SeriesCollection(1).DataLabels.Select
xlApp.Selection.AutoScaleFont = True
With xlApp.Selection.Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 14
End With
'Copie le graphique dans le presse-papier
xlApp.ActiveChart.CopyPicture
End With

'Récupération du graphique dans l'image via le Presse-Papier
Me.Image1.Picture = Clipboard.GetData()
End Sub
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
23
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
15 mars 2005

Alors j ai le mm probleme que toi. Moi j ai le programme mais y a une tte petite merde et du coup ca fonctionne pas. Je résoud le probleme et je t envoie le programme. J espere demain.