Bonjour,

Tout d'abord merci à ceux et celles qui me viendront en aide.
Je précise que je n'ai de compétences VBA qu'à la compréhension et la lecture du code .

Je vous expose donc mon problème :
J'ai un répertoire avec un gros millier de documents .doc et il m'est demandé de les mettre dans un Excel.

Tous ces documents sont formatés de manière que :
- La première page est une page de garde
- Les suivantes sont des annexes séparées par des sauts de pages.

A l'aide de différents posts sur le forum, j'ai repéré quelques morceaux de codes qui m'ont inspiré dans mes recherches, notamment les suivants issus de ce post:
[S]
Citation Envoyé par SilkyRoad Voir le message
bonjour

Boucler sur les paragraphes d'un document Word et les supprimer s'ils débutent par le mot "Test"
*************************************************************

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
Option Compare Text
Sub supprimerParagraphe()
Dim WordApp As Word.Application
Dim WordDoc As Word.document
Dim cible As Paragraph
 
Set WordApp = New Word.Application
WordApp.Visible = True
 
Set WordDoc = WordApp.Documents.Open(ThisWorkbook.Path & "\Doc1.doc")
WordDoc.bookmarks("\StartOfDoc").Select
 
For Each cible In WordDoc.Paragraphs
cible.Range.Select
If Trim(cible.Range.Words(1)) = "Test" Then cible.Range.Delete
Next cible
End Sub
Un autre exemple qui supprime les paragraphes de façon conditionnelle

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
Sub supprimerParagraphes_Conditionnel()
'boucle sur les 3 premiers paragraphes du document Word :
'si la cellule A1<>1 alors suppression du paragraphe 1
'si la cellule A2<>1 alors suppression du paragraphe 2
'si la cellule A3<>1 alors suppression du paragraphe 3
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim i As Integer
 
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
Set WordDoc = WordApp.Documents.Open("C:\monDocument.doc")
 
For i = 3 To 1 Step -1
If Cells(i, 1) <> 1 Then _
WordDoc.Paragraphs.Item(i).Range.Delete
Next i
End Sub
Extraire les phrases / lignes de plusieurs documents Word
************************************************

Chaque ligne est importée dans une colonne différente du classeur

la macro Excel boucle sur tous les documents Word (fermés) pour
ouvrir les fichiers
transferer chaque phrase/ligne dans une colonne differente du classeur
puis refermer le document


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
Mon objectif est donc :
- pour chacun des fichiers, de générer une ligne dans un excel.
- Pour la première page (page de garde) remplir les colonnes suivant les phrases comme l'indique SilkyRoad.
- Pour les pages suivantes, remplir les colonnes avec le contenu que se trouve entre deux sauts de pages, suivant l'idée de SilkyRoad.

Je suis donc preneur de toutes pistes afin d'avancer.

Cdlt,
Merci d'avance

Aerial