Ouvrir les fichiers word d'un dossier

Bonjour à tous,

Tout est dans le titre, je veux ouvrir les 150 fichiers word d'un répertoire pour y changer deux mots.

Voilà le code

Sub remplacement()

Set wbdest = ActiveWorkbook 

Dim k As Object
Set k = CreateObject("Word.Application")
k.Visible = True

fichier = Dir("C:\Users\Francois\Desktop\essai importation\Macro\*.doc") 

Do While fichier <> "" 

k.Documents.Open ("C:\Users\Francois\Desktop\essai importation\Macro\*.doc") ERREUR

Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "Blabla"
        .Replacement.Text = "Blibli"
        .Forward = True
        .Wrap = wdFindContinue
    End With
    Selection.Find.Execute Replace:=wdReplaceAll

    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "Atchoum"
        .Replacement.Text = "A tes souhaits"
        .Forward = True
        .Wrap = wdFindContinue

    End With
    Selection.Find.Execute Replace:=wdReplaceAll

ActiveDocument.Save
wbsource.Close 'close the current source file
fichier = Dir 'go to next file in the directory
Loop 'restart the process with next file
wbdest.Activate
End Sub

Ça bloque à la ligne ou il y a marqué ERREUR avec un message "Erreur 5151. le fichier peut être corrompu"

Or, quand j'ouvre le dit fichier manuellement, aucun soucis.

Quelqu'un voit il mon erreur, ou un moyen détournée d'arriver au même résultat?

Bonjour,

quel intérêt de passer par Excel, pourquoi ne pas procéder directement depuis Word ?‼

Quant à l'erreur, seul un fichier existant correctement renseigné peut être ouvert car *.doc n'en est pas un !

Donc avec un tant soit peu de jugeote, à quoi peut bien servir la variable fichier si ce n'est justement pour en ouvrir un ?!

Tout bêtement parce que je viens de découvrir qu'on pouvait faire des macros sur word et que je ne suis pas à l'aise là dessus du tout, alors que je bidouille du VBA Excel depuis 6 mois.

TU viens de m'apprendre à qui servait cette variable fichier, je ne comprenais pas d'où elle venait (le code est péché d'un autre forum). C'est la première fois que je tente ce genre de manip.

En tout cas, merci.

Pour ceux que ca interesse voilà un code qui marche.

Sub remplacement()

Dim k As Object
Set k = CreateObject("Word.Application")
k.Visible = True

fichier = Dir("C:\Users\Francois\Desktop\essai importation\Macro\*.doc") 

Do While fichier <> "" 

k.Documents.Open ("C:\Users\Francois\Desktop\essai importation\Macro\" & fichier) 
Set myrange = ActiveDocument.Content
With myrange.Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = "Test"
.Replacement.Text = "Résultat"
.Replacement.Highlight = True
.Execute Replace:=wdReplaceAll '
End With

ActiveDocument.SaveAs Filename:="C:\Users\Francois\Desktop\essai importation\Macro\copies\" & ActiveDocument.Name
ActiveDocument.Close 
fichier = Dir 
Loop 

Word.Application.Quit
Set WrdApp = Nothing

End Sub

J'ai encore le problème de l'erreur 462 mais ce n'est pas très grave vu que cette macro n'est censée tourner qu'une fois

Rechercher des sujets similaires à "ouvrir fichiers word dossier"