flobevi
Messages postés1Date d'inscriptionmercredi 30 mars 2011StatutMembreDernière intervention30 mars 2011
-
30 mars 2011 à 19:34
flostralian
Messages postés26Date d'inscriptionvendredi 15 mai 2009StatutMembreDernière intervention26 mars 2015
-
31 mars 2011 à 10:52
Bonjour,
je suis débutant en code Vba, et je cherche à exporter un graphique excel sur un document Word via des signets.
J'ai cherché sur de nombreux forums, mais je tourne en rond....
J'ai essayé d'écrire le code (ci dessous), mais il manque surement des éléments indispensables ou des erreurs importantes...
Merci de votre aide...
Sub graphtest()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = New Word.Application
WordApp.Visible = True
'ouvre document Word
Set WordDoc = WordApp.Documents.Open("C:\Documents and Settings\test.doc")
'pour copier le graphique "Graphe" dans non classeur excel
ActiveSheet.ChartObjects("Graphe").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
' Le signet pour ce graphique se nomme "graphcourbe" dans Word
With ActiveDocument.Bookmarks
.Add Range:=Selection.Range, Name:="graphcourbe"
End With
'Recherche du signet "graphcourbe"
Selection.GoTo What:=wdGoToBookmark, Name:="graphcourbe"
foliv57
Messages postés420Date d'inscriptionvendredi 17 novembre 2006StatutMembreDernière intervention15 juillet 20149 30 mars 2011 à 20:25
Bonjour,
Voici un petit exemple qui fonctione. Il part du principe que le signet "signetGraphique" est déjà créé dans le document Word et que la macro est exécuté depuis Excel. Il faut aussi penser à ajouter la référence "Microsoft Word X.X Object Library" à votre classeur.
Public Sub CopieGraphique()
'Récupération du graphique qui, dans mon exemple, se trouve sur la feuille 1
'et se nomme "Graphique 1"
Dim graphique As Shape
Set graphique = Feuil1.Shapes("Graphique 1")
On Error GoTo fin
'Nouvelle instance de Word
Dim wordApp As New Word.Application
'Ouverture du document Word
Dim wordDoc As Word.Document
Set wordDoc = wordApp.Documents.Open("C:\Test.doc")
'Copie le graphique
graphique.Copy
'Colle le graphique dans le document Word
wordDoc.Bookmarks("signetGraphique").Range.PasteAndFormat wdPasteDefault
'Ferme le document word avec sauvegarde
wordDoc.Close True
fin:
'Quite l'application Word
wordApp.Quit
Set wordApp = Nothing
End Sub