Bonjour à tous
J'ai un problème simple que je n'arrive pas à résoudre.
Je souhaite faire une routine qui ouvre tous les fichiers word d'un répertoire donné, modifie une référence, enregistre et ferme le fichier pour passer au suivant.
Jusqu'ici, j'arrive à ouvrir le fichier word mais impossible de selectionner et remplacer les articles selectionnés.
Voici mon code
Sub MajArtCMF_RCA()
Application.ScreenUpdating = True
'DateFormateBudget.Show
Dim StrChemin As String
Dim StrFichier As String
Dim FichierActif As Word.Document
StrChemin = "C:\Users\d\Desktop\MiseAjourArtCMF\"
StrFichier = Dir(StrChemin & "*.rtf")
Do While StrFichier <> ""
Set MonApplication = CreateObject("Shell.Application")
MonApplication.Open (StrChemin & StrFichier)
ActiveDocument.Activate
Selection.Find.ClearFormatting <<<<<<<<<< ca plante ici
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "823-9"
.Replacement.Text = "821-53"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
With Selection
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseStart
Else
.Collapse Direction:=wdCollapseEnd
End If
.Find.Execute Replace:=wdReplaceOne
If .Find.Forward = True Then
.Collapse Direction:=wdCollapseEnd
Else
.Collapse Direction:=wdCollapseStart
End If
.Find.Execute
End With
Windows("Document1").Activate
ActiveDocument.Close savechanges:=True
StrFichier = Dir()
Application.StatusBar = StrFichier & " traitée"
Loop
Application.StatusBar = "Terminé"
End Sub
Pourriez-vous m'aider car je ne comprends pas vraiment le fonctionnement des macros incluant du Word ?
Merci d'avance.
Partager