![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
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 | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
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 | |
|
|