Importation automatisée de graphiques excel dans word

len73 Messages postés 1 Date d'inscription mercredi 8 novembre 2006 Statut Membre Dernière intervention 8 novembre 2006 - 8 nov. 2006 à 15:38
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 - 8 nov. 2006 à 16:20
Bonjour à Tous,

Je souhaite importer de manière automatisée, 6 graphiques depuis un classeur excel dans un fichier word.
Le classeur excel comprend un nombre important de feuilles, et les graphiques se trouvent sur 3 pages distinctes (3 graphiques par pages, mais les pages contiennent également d'autres informations, bref, il faut pouvoir identifier les graphiques pour s'y retrouver !)

Les graphiques sont toujours les mêmes, et doivent également se retrouver toujours aux mêmes emplacement dans le fichier word (un modèle de document) ET dans la bonne taille...

Comment puis-je procéder ?

D'avance je vous remercie pour vos réponses !

Len

1 réponse

TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
8 nov. 2006 à 16:20
Bonjour,

Une methode qui marche trés bien via l'automation. Dans le code ci-dessous je n'insére qu'un seul graphique, mais tu peux répeter le code autant de fois qu'il faut :

Code de la Macro sous Excel :

Sub Macro1()
Dim wrd As Object

'Selection du graphique à copier
Sheets("Graphiques").Select
ActiveSheet.ChartObjects("Graphique 14").Activate
ActiveChart.ChartArea.Select
'Copie du graphique dans le presse papier
ActiveChart.ChartArea.Copy




'Ouverture de word (invisible)

Set wrd = CreateObject("Word.Application")
'Ouverture du document dans lequel le graph doit être copié
wrd.Documents.Open ("c:\doc1.doc")
'Copie du graphique
'(Pour info :macro initialement enregistrée sous word puis collée sur la macro Excel)
wrd.Selection.PasteAndFormat (wdChartPicture)
'Passage du curseur texte sur la ligne en dessous du graphique (pour par exemple coller un autre graphique
wrd.Selection.TypeParagraph

'..........ici les autres opérations à la suite.........................

'Enregistrer et quitter Word
wrd.ActiveDocument.Save
wrd.ActiveDocument.Close
Set wrd = Nothing
 
End Sub




Jcbé[^]
0
Rejoignez-nous