Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 02/11/2004, 17h56   #1 (permalink)
olivier
Guest
 
Messages: n/a
Par défaut Coller des graphs excel dsword avec automation

Bonjour,

J'ai créé des graphiques dans un classeur excel que je souhaite copier coller dans un rapport sous Word (via automation) à des endroits précis que j'ai repéré par des signets. Malheureusement les graphiques arrivent en vrac ds mon document Word.

Voici le code :

Sub Transfert()

Dim WordApp As Word.Application
Dim Rapport As Word.Document
Dim i As Integer

Set WordApp = CreateObject("Word.Application") 'creation session Word
WordApp.Visible = False 'word est masqué pendant l'opération
'ouverture du fichier Word
Set Rapport = WordApp.Documents.Open(ThisWorkbook.Path & "\Rapport.doc")

For i = 1 To 3 'i=Nbre de graphs à copier
Windows("Classeur1".xls").Activate
Sheets("Feuil1").Select
ActiveSheet.ChartObjects("Graphique " & i).Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
Rapport.Bookmarks("Signet" & i).Select
Rapport.Range.PasteSpecial Link:=False, DataType:=wdPasteEnhancedMetafile, _
Placement:=wdInLine, DisplayAsIcon:=False
Next

WordApp.Visible = True

'fermer le document "Rapport.doc" et l'application Word
Rapport.Application.ActiveDocument.Save
WordApp.Application.Quit

Application.CutCopyMode = False

End Sub

Est ce que l'idée des signets est bonne?
Comment faire pour repositionner les graphiques?

Merci pour votre aide
 
ANNONCES
Vieux 02/11/2004, 22h52   #2 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: boucle sur graphiques Excel et collage dans signets Word

bonsoir Olivier

la macro ci-joint :
Ouvre un document Word contenant 3 signets ( nommés Signet1 ,Signet2 , Signet3 )
Boucle sur les 3 premiers graphiques du classeur
Copie chaque graphique , puis le colle dans un Signet


Sub BoucleGraphiquesExcel_CollageDansSignetsWord()
'testé avec Excel2002
'nécéssite d'activer la référence Microsoft Word xx.x Object Library
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim i As Byte

Set WordApp = CreateObject("word.application")
Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\leFichier.doc")

For i = 1 To 3 'boucle sur les 3 premiers graphiques du classeur
Sheets("Feuil1").ChartObjects(i).Copy 'copie le graphique

'les signets du document Word sont nommés Signet1 , Signet2 , Signet3
'chaque graphique est associé à un des signets lors du collage
WordDoc.Bookmarks("Signet" & i).Range.PasteSpecial _
Link:=False, DataType:=wdPasteEnhancedMetafile, _
Placement:=wdInLine, DisplayAsIcon:=False

Next i

WordApp.Visible = True

'WordDoc.Close True 'ferme le document word en sauvegardant les données
'WordApp.Quit 'ferme la session Word
End Sub


bonne soirée
MichelXld
 
Vieux 03/11/2004, 09h39   #3 (permalink)
olivier
Guest
 
Messages: n/a
Par défaut Re: boucle sur graphiques Excel et collage dans signets Word

Merci Michel pour ta réponse qui me permet d'avancer.

Ca marche aussi en excel 2000.

Comment toujours à partir de la macro Excel modifier les paramètres de l'image ainsi collée (en fait le signet se situe dans un tableau et l'image est collée par défaut sur le tableau et non pas dans la cellule comme je le souhaiterai)?

En effet, je voudrais modifier le format d'habillage de l'image (format, image habillage encadré) mais je n'arrive pas à la sélectionner dans Word puisqu'elle porte un nom "picture X" et que je ne connais pas le X en question.
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 19h56.


(C) 2006 Excel Downloads