Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

lire écrire fichier texte

2 réponses
Avatar
Pierre
Bonjour
J'ai un fichier texte existant sur le poste
j'aimerai ouvrir le fichier
rechercher une chaine de caractères dans ce fichier
la remplacer par une nouvelle chaine de caractères
fermer le fichier texte ainsi modifié
Merci bien
Pierre

Function LireDansFichier() 'mais j'aimerai lire et écrire
Dim VFichier
Dim VTexteLigne
VFichier = Application.CurrentProject.Path & "\essai.txt"
Open VFichier For Input As #1
'lecture de la chaque ligne du fichier
Do While Not EOF(1)
Line Input #1, VTexteLigne
If VTexteLigne="aaaaaaaaaaaa" then
' ici j'aimerai remplacer par "bbbbbbbbbbbbbb"
end if
Loop
Close #1 ' Ferme le fichier.


End Function

2 réponses

Avatar
Eric
Bonjour Pierre,

Avec des fichiers séquentiels, je ne pense pas que tu puisses lire et
modifier.
Si je ne me trompe pas tu as 3 modes : Lecture, Ecriture et
Ajout(Append) en fin de fichier. Par contre pour ce que tu veux faire,
il te faut manipuler 2 fichiers, 1 en lecture et l'autre en écriture.
Après la modification, tu fermes les 2 fichiers, supprimes le 1er et
renommes le 2nd du nom du 1er.

Ca donnerait quelque chose comme :
Sub zz()
Dim f1 As Integer, f2 As Integer
Dim chemin As String
Dim strContenu As String
chemin = CurrentProject.Path
f1 = FreeFile
'Ouverture du fichier existant
Open chemin & "essai.txt" For Input As f1
f2 = FreeFile
'Ouverture en écriture du fichier recevant la modif
Open chemin & "essaiMODIFY.txt" For Output As f2
'Récupération du contenu du fichier initial
strContenu = Input(LOF(f1), f1)
'Remplacement de la chaine
strContenu = Replace(strContenu, "aaaaaaa", "bbbbbbb")
'Ecriture dans le 2eme fichier
Print #f2, strContenu
'Fermeture des fichiers
Close f1, f2
'Suppression du fichier de départ
Kill chemin & "essai.txt"
'Renommage du fichier recevant la modif
Name chemin & "essaiMODIFY.txt" As chemin & "essai.txt"
End Sub



Bonjour
J'ai un fichier texte existant sur le poste
j'aimerai ouvrir le fichier
rechercher une chaine de caractères dans ce fichier
la remplacer par une nouvelle chaine de caractères
fermer le fichier texte ainsi modifié
Merci bien
Pierre

Function LireDansFichier() 'mais j'aimerai lire et écrire
Dim VFichier
Dim VTexteLigne
VFichier = Application.CurrentProject.Path & "essai.txt"
Open VFichier For Input As #1
'lecture de la chaque ligne du fichier
Do While Not EOF(1)
Line Input #1, VTexteLigne
If VTexteLigne="aaaaaaaaaaaa" then
' ici j'aimerai remplacer par "bbbbbbbbbbbbbb"
end if
Loop
Close #1 ' Ferme le fichier.


End Function




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Pierre
Merci beaucoup
je peux avancer
A+
Pierre

"Eric" a écrit dans le message de news:
%
Bonjour Pierre,

Avec des fichiers séquentiels, je ne pense pas que tu puisses lire et
modifier.
Si je ne me trompe pas tu as 3 modes : Lecture, Ecriture et Ajout(Append)
en fin de fichier. Par contre pour ce que tu veux faire, il te faut
manipuler 2 fichiers, 1 en lecture et l'autre en écriture.
Après la modification, tu fermes les 2 fichiers, supprimes le 1er et
renommes le 2nd du nom du 1er.

Ca donnerait quelque chose comme :
Sub zz()
Dim f1 As Integer, f2 As Integer
Dim chemin As String
Dim strContenu As String
chemin = CurrentProject.Path
f1 = FreeFile
'Ouverture du fichier existant
Open chemin & "essai.txt" For Input As f1
f2 = FreeFile
'Ouverture en écriture du fichier recevant la modif
Open chemin & "essaiMODIFY.txt" For Output As f2
'Récupération du contenu du fichier initial
strContenu = Input(LOF(f1), f1)
'Remplacement de la chaine
strContenu = Replace(strContenu, "aaaaaaa", "bbbbbbb")
'Ecriture dans le 2eme fichier
Print #f2, strContenu
'Fermeture des fichiers
Close f1, f2
'Suppression du fichier de départ
Kill chemin & "essai.txt"
'Renommage du fichier recevant la modif
Name chemin & "essaiMODIFY.txt" As chemin & "essai.txt"
End Sub



Bonjour
J'ai un fichier texte existant sur le poste
j'aimerai ouvrir le fichier
rechercher une chaine de caractères dans ce fichier
la remplacer par une nouvelle chaine de caractères
fermer le fichier texte ainsi modifié
Merci bien
Pierre

Function LireDansFichier() 'mais j'aimerai lire et écrire
Dim VFichier
Dim VTexteLigne
VFichier = Application.CurrentProject.Path & "essai.txt"
Open VFichier For Input As #1
'lecture de la chaque ligne du fichier
Do While Not EOF(1)
Line Input #1, VTexteLigne
If VTexteLigne="aaaaaaaaaaaa" then
' ici j'aimerai remplacer par "bbbbbbbbbbbbbb"
end if
Loop
Close #1 ' Ferme le fichier.


End Function




--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr