Bonjour,
J'utilise le code suivant, récupéré sur codesource :
On appelle cette fonction par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Private Function ChangeWords(sWordsToRemove As String, sWordsToChange As String, sFile As String) As Boolean If Dir(sFile, vbSystem Or vbHidden) = vbNullString Then ' fichier existe? ChangeWords = False Else ' ouvre le fichier Dim FF As Integer, sBuffer As String FF = FreeFile Open sFile For Input As #FF sBuffer = Input(LOF(FF), 1) Close #FF 'ligne à changer existe? Dim lPos As Long lPos = InStr(1, sBuffer, sWordsToRemove) If lPos = 0 Then ChangeWords = False Else ' on découpe Dim sFirst As String, sLast As String sFirst = Left$(sBuffer, lPos - 1) sLast = Right$(sBuffer, Len(sBuffer) - lPos - Len(sWordsToRemove) + 1) ' on écrit FF = FreeFile Open sFile For Output As #FF Print #FF, sFirst & sWordsToChange & sLast Close #FF ChangeWords = True End If End If End Function
en y mettant le mot a remplacer, le mot de remplacement et le fichier a traiter...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Call ChangeWords("#", " ", "C:\resutext.txt")
or, cela marche tres bien, mais il n'y a aucune boucle dans cette fonction...
Il faut donc cliquer plusieurs moulte fois sur mon bouton, pour nettoyer le fichier voulu...![]()
Comment faire boucler cette fonction?
j'ai essayé en ajoutant ceci a la fonction:
(avant de chercher si la ligne existe)
Code : Sélectionner tout - Visualiser dans une fenêtre à part do while not EOF(FF)
et en finissant par
(avant le dernier If)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Loop
mais ça me fait une erreur 53...
SI quelqu'un peux m'apprendre a boucler cette fonction, ou connait une methode qui serait plus simple pour le meme resultat...
M E R C I
Partager