Remplacer un mot dans des fichiers excels sans les ouvrir

Signaler
Messages postés
2
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
18 septembre 2002
-
Messages postés
2
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
18 septembre 2002
-
est-t-il possible de rechercher un mot dans plusieurs fichiers excel d'un dossier, sans les ouvrir
et ensuite de remplacer ce mot par un autre, puis de sauvegarder le fichier modifié??

merci

2 réponses

Messages postés
59
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
29 janvier 2004

Oui:
'Pour le parcours de répertoires cf exemple de la fonction Dir dans MSDN

'Voici une fonction pour traiter un fichier:
'cocher Microsoft Excel X.X Object Library dans le menu Outils/Références...

Private Sub RemplacerMot (FichierSource As String, FichierCible As String, MotSource As String, MotCible As String)
'FichierSource est le chemin du fichier excel source
'FichierCible est le chemin du fichier excel cible
'MotSource est le mot à remplacer
'MotCible est le nouveau mot

'S'il y a plusieurs fichiers à traiter, pour éviter de ouvrir et refermer excel à chaque fois, il faut déclarer l'objet XlApp au niveau module et faire l'ouverture et la fermeture de XlApp en début et fin de lecture de répertoire

Dim XlApp As Excel.Application
Dim XlFeuille As Excel.WorkSheet

'Création de l'application excel
Set XlApp = New Excel.Application

'Ouverture du fichier source
XlApp.WorkBooks.Open FichierSource

'Parcours de toutes les feuilles du classeur
For Each XlFeuille in XlApp.WorkBooks(1).WorkSheets

'Remplacement du mot (mettre xlPart à la place de xlWhole si tu veux remplacer les mots qui sont uniques dans la cellule)
Cells.Replace What:=MotSource, Replacement:=MotCible, LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False

Next XlFeuille

'Suppression de la cible si elle existe
If Dir(FichierCible)<>"" Then
Kill FichierCible
End If

'Sauvegarde du fichier
XlApp.WorkBooks(1).SaveAs FichierCible

'Fermeture du classeur de l'appli
XlApp.WorkBooks(1).Close
XlApp.Quit
Set XlApp = Nothing

End Sub
0
Messages postés
2
Date d'inscription
mercredi 18 septembre 2002
Statut
Membre
Dernière intervention
18 septembre 2002

merci, je vais voir si je m'en sors avec ca.
0