Code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Sub CopierUnePlageDeCellulesExcelDansWord()
Dim XlAppli
Dim XlCl
Dim Xlfl
Dim Plage
Set XlAppli = CreateObject("Excel.Application") '< L'appli Excel
Set XlCl = XlAppli.Workbooks.Open("D:\xls\Liste pour fusion.xls") '< le classeur
Set Xlfl = XlCl.Worksheets("feuil1") '< la feuille
Plage = "A1:D15"
Xlfl.Range(Plage).Copy
'Selection.Paste 'Coller la plage
'ou (les deux fonctionnent)
Selection.PasteExcelTable False, False, False 'Voir l'extrait de l'aide (*)
'Supprime la liaison entre le classeur et le document Word
DoEvents 'laisse le temps au système de réaliser la copie
XlCl.Close False 'ferme le classeur Excel sans enregistrer
DoEvents ' laisse au système le temps de fermer le classeur
XlAppli.Quit ' Ferme Excel
Set XlAppli = Nothing ' supprime les instances
Set XlCl = Nothing
Set Xlfl = Nothing
End Sub |
"Selection" correspond au point d'insertion dans le document Word. Ce point d'insertion peut être un signet, une balise, un mot clé, ...
Extrait de l'aide en ligne pour les paramètres de PasteExcelTable
Citation:
LinkedToExcel Argument de type Boolean obligatoire. Affectez-lui la valeur True pour lier la table collée au fichier Excel d'origine, afin de répercuter dans Microsoft Word les modifications apportées au fichier Excel.
WordFormatting Argument de type Boolean obligatoire. Affectez-lui la valeur True pour appliquer la mise en forme du document Word au tableau. La valeur False permet de mettre en forme le tableau d'après le fichier Excel d'origine.
RTF Argument de type Boolean obligatoire. Affectez-lui la valeur True pour coller le tableau Excel au format RTF. La valeur False permet de coller le tableau Excel au format HTML.
|