Export d'un graphique en image ne marche pas sur tous les pc
bonjour,
je suis débutant dans la programmation, j'ai commencé il y a 3 mois sur excel 2003 et 2007 ( car plusieurs pc ).
Mon problème est le suivant:
je crée un graphique sur une feuille appelé graph ( qui ne sert qu'a afficher les graphiques puis je les supprime ) puis je la transforme en image pour l'afficher dans une userform.
Le problème est que ça ne marche pas sur tous les PC ( et forcement sur le pc sur lequel il doit servir ^^) même entre pc en excel 2003 ou 2007.
- niveau sécurité identique
- net framework 3.5 installé sur les pc
- références vba identiques
- meme version de excel 2003 ou 2007.
il bloque sur cette ligne:
Sheets("graph").ChartObjects(1).Chart.Export Filename:="graph.gif", FilterName:="GIF"je n'ai pas osé mettre tout mon fichier car pour des pros ce ne doit pas être jolie jolie lol, mais si besoin je le mettrai.
en vous remerciant.
voici mon code:
'creation du graphique
Charts.Add
'prend la bonne plage de valeur en fonction du mois demandé
ActiveChart.HasLegend = False
ActiveChart.SetSourceData Source:=Sheets(anneechoix) _
.Range(Worksheets(anneechoix).Cells((1 + 49), moischoix), Worksheets(anneechoix).Cells(dernierjour, moischoix)), PlotBy _
:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="graph" 'met le graph dans la feuille 3
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = moischoisi + " " + anneechoix
.ChartType = xlLine
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "jour"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Kw/H"
'met le graph sous forme image
Sheets("graph").ChartObjects(1).Chart.Export Filename:="graph.gif", FilterName:="GIF"
'charge l'image dans la userform
Image1.Picture = LoadPicture("graph.gif")
End Withsuggestion alternative personnelle façon Jeep tous terrains (tous PC et tous Windows) :
- ne pas exporter un .gif mais faire un .pdf
( au besoin installer une "imprimante pdf comme cutePDF)
avec ton niveau en VBA, ce devrait être faisable
rem : je n'ai pas la réponse directe à ta question
merci jmd,
en fait il faut que je remplace gif par pdf c'est ca ?
sinon je pensai a essayer d ouvrir directement avec le preview.
j'essayerai lundi
si d'autre avis je suis toujours preneur je laisse le post ouvert encore un peu.
salut,
ca marche, voici une solution
il fallait specifier le chemin complet, donc rajouter ThisWorkbook.Path &.
donc de
Sheets("graph").ChartObjects(1).Chart.Export Filename:= "graph.gif", FilterName:="GIF" 'met le graph sous forme image
Image1.Picture = LoadPicture( "graph.gif") je suis passe a ca
Sheets("graph").ChartObjects(1).Chart.Export Filename:=ThisWorkbook.Path & "graph.gif", FilterName:="GIF" 'met le graph sous forme image
Image1.Picture = LoadPicture(ThisWorkbook.Path & "graph.gif") merci a tous ceux qui se sont penchés sur mon probleme.