bonjour Adrien , bonjour André
Adrien , cela ne sert à rien de relancer plusieurs fois un fil de discussion . Ce n'est pas ça qui donnera envie de répondre à une question , bien au contraire .
Charte XLD
Ceci dit , tu peux tester cette macro qui permet de coller tous les documents Word d'un répertoire , dans un autre document existant , nommé "rapport.doc" . Dans cet exemple , le classeur Excel et les documents Word doivent etre dans le meme répertoire .
remarque : le temps d'action risque d'etre long si tu as beaucoup de documents à coller
Private Sub CommandButton1_Click()
'nécéssite d'activer la référence Microsoft Word xx.x Object Library
Dim Fichier As String
Dim WordApp As Word.Application
Dim WordDoc1 As Word.Document, WordDoc2 As Word.Document
Dim DocBase As String
'les documents Word est supposé fermé avant le lancement de la macro
DocBase = "rapport.doc"
Set WordApp = CreateObject("Word.Application") 'creation session Word
WordApp.Visible = False 'word est masqué pendant l'opération
'ouverture du fichier Word
Set WordDoc1 = WordApp.Documents.Open(ThisWorkbook.Path & "\" & DocBase)
'liste des fichiers Word
'ce classeur doit etre dans le meme repertoire que les documents Word
Fichier = Dir(ThisWorkbook.Path & "\*.doc*")
Do While Fichier <> ""
If Fichier <> DocBase Then
'ouvrir tous les autres documents ( non visible )qui ne se nomment pas Rapport
'ouverture du fichier Word
Set WordDoc2 = WordApp.Documents.Open(ThisWorkbook.Path & "\" & Fichier)
'copier
WordDoc2.Content.Copy
'trouver la derniere ligne et affecter un saut de page au document de base (rapport.doc)
'WordDoc1.Bookmarks("\EndOfDoc").Select
With WordDoc1.Content
.Collapse Direction:=wdCollapseEnd 'derniere ligne du document "rapport.doc"
.InsertBreak Type:=wdSectionBreakNextPage 'insert saut de page
.Paste 'collage
End With
'refermer le document
WordDoc2.Close
End If
Fichier = Dir
Loop
WordApp.Visible = True
'fermer le document "Rapport.doc" et l'application Word
'WordDoc2.Close
'WordApp.Quit
Application.CutCopyMode = False
End Sub
bonne soirée
MichelXld