Bonjour à tous,

Tous est dans le titre, enfin presque.

J'ai un fichier Excel avec une liste d'articles, à chaque article correspond un fichier Word (avec mise en page, titre avec hiérarchisation, style de texte...), j'ai l'adresse du fichier Word de renseigné dans mon fichier Excel.

Je souhaiterais créer un nouveau document Word avec les fichiers Word de chaque article mis les un à la suite des autres.

Je sais démarrer Word, ouvrir un fichier, enregistrer, récupérer le texte des paragraphes... via le VBA de Excel. Mais ca ne me garde pas la mise en forme de mon fichier Word d'origine...

Ce qu'il me manque (je crois), c'est simplement un copier tous du fichier Word d'un article et le coller à la fin d'un autre fichier Word.

Idéalement j'aimerais récupérer le contenu sans ouvrir les fichiers Word des articles.

j'ai bien trouver ça, mais je n'arrive pas à l'adapter pour faire un copier/coller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Sub importLignesDocumentWord()
Dim Fichier As String, Direction As String
Dim wordApp As Word.Application
Dim wordDoc As Word.Document
Dim i As Byte
Dim j As Integer
 
Application.ScreenUpdating = False
 
Direction = ThisWorkbook.Path
Fichier = Dir(Direction & "\*.doc")
Do While Fichier <> "" 'boucle sur tous les fichiers .doc du repertoire
 
Set wordApp = CreateObject("Word.Application")
wordApp.Visible = False
Set wordDoc = wordApp.Documents.Open(Direction & "\" & Fichier) 'ouverture documents word
j = j + 1
For i = 1 To wordDoc.Sentences.Count 'boucle sur les phrases/lignes de chaque document
Cells(j, i) = _
Application.WorksheetFunction.Substitute(wordDoc.Sentences(i).Text, Chr(13), "")
Next i
 
wordDoc.Close False 'fermeture documents word
wordApp.Quit
Set wordDoc = Nothing
Set wordApp = Nothing
Fichier = Dir
 
Loop
End Sub
Je vous remercie d'avance

Guille