Bonjour à tous,
J'essaye de piloter Word depuis Excel. L'idée c'est de faire une macro Excel qui va ouvrir un fichier Word et ensuite rechercher des mots pour les mettre dans un tableau.
Voici le code que je suis en train de tester :
Le code marche bien, mais j'ai un soucis lors qu'il trouve le texte C10 & C15. En effet la boucle While .execute n'arrive pas à passer au mot suivant. Si dans mon document Word j'ai les mots suivants :
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
31
32
33
34
35
36
37
38
39
40
41
42 Function getWordQuestions() As String() Dim tableau() As String Dim index As Integer index = 0 'récuperation du fichier word: Dim docPath As String docPath = getFilePath() 'ouverture du fichier Dim WordApp As Word.Application Dim WordDoc As Word.Document Set WordApp = CreateObject("Word.Application") WordApp.Visible = True Set WordDoc = WordApp.Documents.Open(docPath, ReadOnly:=True) Set docContent = WordDoc.Content With docContent.Find .ClearFormatting .Font.Size = 11 .Style = "NUMBER AND NAME OF VARIABLE" .Format = True .Forward = True While .Execute MsgBox docContent.Text If Len(docContent.Text) > 2 Then ReDim Preserve tableau(index + 1) As String tableau(index) = docContent.Text index = index + 1 End If Wend End With WordDoc.Close (wdDoNotSaveChanges) WordApp.Quit getWordQuestions = tableau End Function
S.40
S.45
S.60
S.100& S.105
C.10 & C.15
C.20
Je vois bien les MsgBox des 3 premiers mots, mais une fois le texte C10 & C15 trouvé, je n’arrête pas de voir le MsgBox "C.10 & C.15", dans une boucle infini. Je n'arrive jamais à voir C20.
Avez-vous une idée de pourquoi cela est en train d'arriver ?
Je vous remercie d'avance,
Marc
Partager