Exporter des graphiques excel dans word

Signaler
Messages postés
4
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
8 juillet 2005
-
Messages postés
8
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
19 mai 2006
-
Bonjour,

Cette question a déjà été posée mais n'a pas reçu de réponses.
Mon but est dans le titre, exporter une vingtaine de graphes excel dans un fichier word. Ma syntaxe est la suivante :

Sub exportword()
Dim Graph As ChartObject
Set wo = CreateObject("Word.Application")
doc = wo.documents.Add
For Each Graph In Sheets("Graphes").ChartObjects
Graph.Activate
Graph.Copy
wo.Selection.Paste <<======== Pas très sur de ce qui est sélectionné ici
Graph.Delete <<======== Une autre macro les crée juste avant
Next Graph
wo.activedocument.SaveAs Filename:="Nouvoscompt.doc"
wo.activedocument.Close
End Sub

Le problème est que le temps pour tout transférer est très long (1min voir plus) alors qu'il ne s'agit que de 20 copier-coller et la taille du fichier word est pluôt imposante (15mo).
Je cherche un moyen de rendre cela plus rapide et moins lourd, en imaginant que l'utilisateur des macros n'aura peut-être pas un pc aussi performant que le mien et risque d'être impatient.

Merci d'avance

2 réponses

Messages postés
4
Date d'inscription
lundi 20 novembre 2000
Statut
Membre
Dernière intervention
8 juillet 2005

Bon, j'ai trouvé la solution comme un grand. Mon problème était qu'il copiait carrément le graphique, il était donc éditable sous word et ca prenait trop de place. Je mets mon code si jamais ca intéresse quelqu'un.

Sub exportword()
Dim Graph As ChartObject
Set wo = CreateObject("Word.Application")
doc = wo.documents.Add
For Each Graph In Sheets("Graphes").ChartObjects
Graph.Activate
ActiveChart.CopyPicture Appearance:=xlPrinter, Size:=xlPrinter, Format:= _
xlPicture '<<===== Pour avoir une image de bonne qualité sous Word
wo.Selection.Paste
wo.Selection.typetext Text:=vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf '<<=== Pour espacer les graphes
Graph.Delete
Next Graph
wo.activedocument.SaveAs Filename:="Nouvoscompt.doc"
wo.activedocument.Close
Exit Sub
End Sub

La ca fait 65ko et c'est preque instantané.
A+
Messages postés
8
Date d'inscription
vendredi 8 juillet 2005
Statut
Membre
Dernière intervention
19 mai 2006

Salut,

Je cherche à faire la meme chose, mais sous Access.
A savoir, j'ai des graphs sous Excel, que je voudrai integrer dans mes forms Access.
Sais tu comment je peux faire ?
Merci d'avance