Export de graphes en .gif

[Résolu]
Signaler
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
-
Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
-
Bonjour,
je cherche depuis plusieurs heures sur internet pour trouver comment exporter un graphique d'excel en image Gif.
J'ai réussi a pondre ce code (enfin, copier coller d'un ensemble de code) :
    Sub ExportExcel()
        Dim NomComplet As Variant, LeChart As Variant
        Dim i As Byte
        Dim NomChart As Variant
            For Each LeChart In ActiveSheet.ChartObjects
                i = i + 1
                NomChart = "Graphique " & i
                ActiveSheet.ChartObjects(i).Activate
                NomComplet = Application.GetSaveAsFilename("C:\Chemin" & NomChart & ".gif", "Fichiers GIF (*.gif), *.gif")
                ActiveChart.Export NomComplet, "GIF"
        Next
    End Sub

Elle marche bien, sauf qu'une fenetre s'ouvre a chaque graphe pour demander le nom (pré-écrit dans la ligne du nom).
J'ai essayé de remplacer les lignes :
    ActiveSheet.ChartObjects(i).Activate

    NomComplet = Application.GetSaveAsFilename("C:\Chemin"
& NomChart & ".gif", "Fichiers GIF (*.gif), *.gif")

    ActiveChart.Export NomComplet, "GIF"
Par :
    oChart = ActiveSheet.ChartObjects(i)
    oChart.Activate
    ActiveChart.Export "C:\Chemin" & NomChart & ".gif", "GIF"
Mais ça ne marche pas.
Donc si vous aviez une idée!
Merci d'avance!!

2 réponses

Messages postés
99
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
28 juillet 2011
1
Le deuxième m'affiche comme erreur :

"Erreur d'exécution '438':
Propriété ou méthode non gérée par cet objet"

Donc je retire mon oChart ce qui donne :
    ActiveSheet.ChartObjects(i).Activate
En lieu et place de :
    oChart = ActiveSheet.ChartObjects(i)
    oChart.Activate
Qui me donne cette erreur :

"Erreur d'exécution '1004':
La méthode 'Export' de l'objet'_Chart' a échoué"

Donc j'ai encore trifouillé, et ça me donne ce code, qui marche :
http://www.vbfrance.com/code.aspx?ID=42814

Merci de ton aide!!

Roro
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
si ton premier code fonctionne, le second devraifonctionner également...
pas compris l'astuce de la boucle For Each dans laquelle tu incrémenté i ...

pourquoi ne pas directement faire For i = ... ?

"Mais ça ne marche pas." => message d'erreur ? comportement étrange ? .....