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 With

suggestion 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.

Rechercher des sujets similaires à "export graphique image marche pas tous"