cs_Detou
Messages postés4Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention 8 juillet 2005
-
8 juil. 2005 à 14:20
Mattheous
Messages postés8Date d'inscriptionvendredi 8 juillet 2005StatutMembreDernière intervention19 mai 2006
-
13 mars 2006 à 10:49
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.
cs_Detou
Messages postés4Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention 8 juillet 2005 8 juil. 2005 à 15:58
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
Mattheous
Messages postés8Date d'inscriptionvendredi 8 juillet 2005StatutMembreDernière intervention19 mai 2006 13 mars 2006 à 10:49
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