kenny_dfc
Messages postés10Date d'inscriptionmardi 11 janvier 2005StatutMembreDernière intervention12 mars 2005
-
24 févr. 2005 à 18:03
tomgrc
Messages postés23Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention15 mars 2005
-
25 févr. 2005 à 13:33
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.
tomgrc
Messages postés23Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention15 mars 2005 25 févr. 2005 à 13:33
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
tomgrc
Messages postés23Date d'inscriptionjeudi 27 janvier 2005StatutMembreDernière intervention15 mars 2005 24 févr. 2005 à 20:39
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.