Macro excel pour traitement fichier word

Macro excel pour traitement fichier word - VB/VBA/VBS - Programmation

Marsh Posté le 28-05-2007 à 19:34:13    

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....
 
Un grand merci pour votre aide!
 
Paul

Reply

Marsh Posté le 28-05-2007 à 19:34:13   

Reply

Marsh Posté le 28-05-2007 à 20:44:37    

que te donne la macro automatique ?
pars de la, ca fait déjà bcp.

Reply

Marsh Posté le 28-05-2007 à 21:55:00    

Je vois pas comment faire la recherche?

Reply

Marsh Posté le 29-05-2007 à 01:34:02    

ça ne marche pas, même pas l'ouverture du fichier word! Dès que l'on sort d'excel rien ne s'enregistre dans la macro!

Reply

Marsh Posté le 29-05-2007 à 04:12:47    

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
        appWD.Selection.MoveRight Unit:=wdCharacter, Count:=1
        appWD.Selection.MoveRight Unit:=wdCharacter, Count:=2, Extend:=wdExtend
        appWD.Selection.Copy
        Range("D10" ).Select
        ActiveSheet.Paste
        ActiveCell.Offset(1, 0).Select
    Loop
     
DocWD.Close True
appWD.Quit
Set DocWD = Nothing
Set appWD = Nothing
 
End Sub


Message édité par pauldid le 29-05-2007 à 04:13:44
Reply

Marsh Posté le 29-05-2007 à 15:02:08    

La boucle Do While appWD.Selection.Find.Execute("numéro:" ) = True ne marche pas on dirait...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed