marcdid
Messages postés12Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention29 mai 2007
-
29 mai 2007 à 04:17
marcdid
Messages postés12Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention29 mai 2007
-
29 mai 2007 à 16:28
Messieurs,
Je lutte un peu pour écrire une macro excel pour traiter un fichier word. Je souhaiterais qu'elle:
- ouvre le fichier word en question
- parcourt le fichier word a la recherche d'un certain mot
-
à chaque fois qu'elle trouve le mot, copier un certain nombre de
caractères qui suivent ce mot dans la cellule A1 du fichier excel
-
continuer ceci jusqu'a la fin du fichier word en copiant à chaque fois
dans le fichier excel les caractères dans les cellules suivantes
A2,A3....
Voila mon code, le pb est que il s'arrète à la première occurence trouvée...
Sub Extraction()
Dim appWD As New Word.Application
Dim DocWD As New Word.Document
Set DocWD = appWD.Documents.Open("C:\test.txt" )
appWD.Visible = True
appWD.Selection.Find.ClearFormatting
With appWD.Selection.Find
.Text = "numéro:"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Do While appWD.Selection.Find.Execute("numéro:" ) = True
marcdid
Messages postés12Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention29 mai 2007 29 mai 2007 à 14:32
Salut Nicko,
Tout d'abord merci pour ton aide!! J'ai modifié le script comme tu me le conseilles mais la boucle Do while ne marche toujours pas. En fait il copie colle bien la première occurence mais ensuite il s'arrête et donc ne copie colle pas les autres présentes dans le fichier! Le test Do While appWD.Selection.Find.Execute("numéro:" ) = True est-il bon dans la boucle?
Encore merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 29 mai 2007 à 15:43
Je te mets le code que j'ai modifié (et qui marche nickel):
et OUI ton test est bon.
Le truc, c'est que je viens de trouvé un bug. Quand j'execute et que je remet au premier plan le fichier text a chaque occurence ca marche.
J'essaies de trouver d'ou cela viens (essaies aussi de voir ca).
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 29 mai 2007 à 15:48
Public Sub Extraction()
Dim appWD As New Word.Application
Dim DocWD As New Word.Document
Set DocWD = appWD.Documents.Open("C:\Documents and Settings\BorelNi\Bureau\Test_Module\test.txt", Encoding:=msoEncodingWestern)
marcdid
Messages postés12Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention29 mai 2007 29 mai 2007 à 16:28
Je viens de trouver, voici le code qui marche! (j'ai mis en gras les 2 modifs). En fait il me sélectionnait tout le document et s'arrêtait.
Merci pour ton aide Nicko!
+
Sub Extraction()
Dim appWD As New Word.Application
Dim DocWD As New Word.Document
Set DocWD = appWD.Documents.Open("C:\test.txt" )