Supposons que vous ayez une table de données dans votre classeur Excel sur la feuille Feuil1 dans la plage A1: F20.
Vous souhaitez exporter le tableau dans un document Word existant nommé monDocWord.docx, dont vous savez qu’il existe et que vous savez qu’il est fermé. Pour le rendre intéressant, disons que la tâche appelle l’ensemble d’actions suivant:
■ Ouvrez Word.
■ Ouvrez monDocWord.docx.
■ Exportez la table de données d’Excel dans le document monDocWord.docx.
■ Enregistrez monDocWord.docx.
■ Fermez monDocWord.docx.
La macro suivante accomplit cette tâche très rapidement. Notez que vous pouvez copier la plage utilisée d’une feuille de calcul ou la région actuelle d’une cellule; vous n’avez pas besoin de faire référence à une adresse de plage spécifique comme le fait cet exemple:
Sub ExportationExcelWord() ' Désactivez ScreenUpdating. Application.ScreenUpdating = False ' Copiez la plage Excel à exporter. Worksheets("Feuil1").Range("A1:F20").Copy ' Déclarez les variables d'objet. Dim WdApp As Object, wddoc As Object 'Ouvrir Word Set WdApp = CreateObject("Word.Application") ' Ouvrez le document Word qui acceptera les données exportées. Set wddoc = WdApp.Documents.Open(Filename:="C:\Your\File\Path\myWordDoc.docx") ' Collez les données copiées d'Excel dans le document Word. wddoc.Range.Paste ' Fermez le document Word et enregistrez les modifications. wddoc.Close savechanges:=True ' Quittez l'application Word. WdApp.Quit ' Définissez les variables Object sur Nothing pour libérer la mémoire système. Set wddoc = Nothing Set WdApp = Nothing ' Quittez le mode Copie. Application.CutCopyMode = False ' Rallumez ScreenUpdating. Application.ScreenUpdating = True End Sub
Merci beaucoup de votre aimable publication
C’est très très claire les codes VBA , comme vous avez publié le Titre “Copie d’une plage Excel dans un document word”
Milles mercis
Meilleur souhait.
Bonne Continuation ExcelCorpo