Bonjour
Le code ci-dessous fonctionne parfaitement si dans le fichier Word il n'y a qu'un seul tableau.

Voici mon petit souci :
J'ai un fichier word qui est composé de plusieurs pages
Pages 1 : tableau 3 lignes + un texte qui n'est pas dans un tableau
Page 2 : le sommaire
page 3 à 10 un seul tableau

Si je lui indique ici : Set Tableau = WordDoc.Tables(1) => Tables(2) par exemple il ne va pas chercher le tableau 2 (j'ai compris comme ça)
Tout est ok si je supprime les pages 1 & 2 et que je garde que le tableau.

D'autre part, comment faire pour aller chercher le fichier avec un boite de dialogue ?

Merci beaucoup de votre aide car je suis un peu nul en VBA mais j'aime bien l'utiliser ,-)


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
'https://excel.developpez.com/faq/?page=Word#ImportTableauWord
Sub importTableWord_VersExcel()
'Nécessite d'activer la référence:
    'Microsoft Word xx.x Object Library
 
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim Tableau As Word.Table
Dim i As Integer, j As Integer
 
'Création instance Word
Set WordApp = New Word.Application
'Masque Word pendant l'opération
WordApp.Visible = False
 
'Ouvre le document Word
Set WordDoc = WordApp.Documents.Open("E:\test.docx")
 
'Représente le premier tableau dans le document
Set Tableau = WordDoc.Tables(1)
 
'Boucle sur les colonnes du tableau
For i = 1 To Tableau.Columns.Count
    'Boucle sur les cellules de claque colonne
    For j = 1 To Tableau.Columns(i).Cells.Count
        'Importe les données du tableau dans la feuille active
        ActiveSheet.Cells(j, i) = Tableau.Columns(i).Cells(j)
    Next j
Next i