Bonjour à tous,

Je précise d'abord que je suis un débutant en VBA, cela fait une semaine que j’apprends sur le tas dans le but de mettre en place une macro dans le cadre de mon stage.

Mon objectif est d'extraire des bouts de phrases contenus dans plusieurs fichiers Word vers un tableau Excel. Pour cela, j'ai trouvé un bon code qui permet de rechercher des expressions avec la fonction "Find" et de sélectionner le texte qui suit pour l'extraire dans un tableau. Voici le code : http://www.gcexcel.com/vba-importer-...rd-vers-excel/ (je remercie au passage le Grand Chaman Excel de l'avoir partager, cela m'a fait gagner un temps précieux).

J'ai dans un premier temps recopié bêtement le code en modifiant ce qu'il fallait. Le code recherche une expression, se déplace de 3 mots avec "MoveRight" et sélectionne puis extrait le texte qui suit en supprimant les espaces. Or, dans mes formulaires Word, le texte que je veux extraire se situe sur la ligne suivant l'expression recherchée. J'ai d'abord modifié mes formulaires en remplaçant les sauts de ligne par des espaces afin de pouvoir coder ma macro et créer mon tableau Excel.

Cela étant fait, je cherche à perfectionner la macro en remplaçant les "MoveRight" par des "MoveDown", car vous avouerez que le bricolage avec les espaces n'est pas très fonctionnel et pourra entraîner des problèmes par le suite. Je pensais que cela serait simple en voyant l'aide de Microsoft sur la méthode Selection.MoveDown (https://msdn.microsoft.com/fr-fr/lib.../ff838730.aspx); mais finalement après des heures d'essais et de recherches, il m'est impossible d'appliquer ce MoveDown. Si je ne renseigne pas les paramètres (qui sont censés être facultatifs), j'ai une erreur d'exécution 9 "L'indice n'appartient pas à la sélection" sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ws.Cells(i, 6) = Trim(Split(WSel, ":")(1))
Lorsque je les renseigne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
MoveDown Unit:=wdLine, Count:=1
la macro bloque sur "wdLine" en me disant "erreur de compilation : variable non définie" et lorsque je définie "wdLine" dans la déclaration des variables, la ligne MoveDown bloque en me disant "paramètre incorrect".

Je me tourne donc vers vous, étant débutant il y a surement un petit détail qui m'échappe et je serais très reconnaissant si vous pouviez m'apporter vos lumières.

Cordialement,
Thibaud

Petite précision, après avoir testé dans Word avec l'enregistreur de macro; les lignes de code dont j'ai besoin pour déplacer le curseur et sélectionner le texte que je veux extraire sont les suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Selection.MoveRight Unit:=wdCharacter, Count:=4
Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
Mais lorsque je reproduit les lignes dans ma macro Excel, j'ai le droit à "type d'argument incorrect".