et bien sûr, parmi les inombrables sources du site qui parlenbt de FileSystemObject ou FSO.
Une fois que tu as lu ta ligne et qu'elle est stockée dans une chaine (String), rien ne t'empèche de la travailler et de faire un Replace, du moment que tu la réécris ensuite.
Mais tu ne pourras pas réécrire seulement une ligne dans un fichier (pas d'accès séquentiel), il te faudra surement lire tout le fichier, modifier tes lignes puis tout réécrire.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005 Le savoir est la seule matière qui s'accroit quand on
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201826 26 sept. 2006 à 12:34
Bonjour,
Exemple avec fso de "Replace" dans un .txt
Script, en vbs, que j'ai proposé en réponse à un topic.
Surement simple à translaté et à modifié en vb6.
jean-marc
Option Explicit
Dim Saisie1, Saisie2, Saisie3
Saisie1 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Quelle chaine de caractères" &_
" voulez-vous remplacer ???","Modification de script", "ligne")
If Saisie1 = "" Then WScript.Quit
Saisie2 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Par quelle chaine de caractères" &_
" voulez-vous remplacer la chaine " & Saisie1 &_
" ???","Modification de script", "nouvelle ligne")
If Saisie2 = "" Then WScript.Quit
Saisie3 = InputBox(vbCrLf&vbCrLf&vbCrLf&vbCrLf&"Pour quelle extension de fichier" &_
" voulez-vous remplacer la chaine " & Saisie1 &_
" ???","Modification de script", "txt")
If Saisie3 = "" Then WScript.Quit
Const ForReading 1, ForWriting 2, ForAppending = 8
Dim fso, Dossiers, f, fichier, fichiers, i, strtmp, Resultat
Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossiers = fso.GetFolder(GetPath)
Set fichiers = Dossiers.Files
'pour chaque fichier de mon objet fichiers de mon objet fso...:)
For Each fichier in fichiers
If fso.GetExtensionName(fichier) = Saisie3 Then
Dim objTextStream
Set objTextStream = Fso.OpenTextFile(GetPath & fichier.Name, ForReading)
Resultat = objTextStream.ReadAll
strtmp = split(Resultat,"")
For i = 0 to Ubound(strtmp)
If instr(trim(strtmp(i)),Saisie1) Then
strtmp(i) = Replace(strtmp(i), Saisie1, Saisie2)
End If
objTextStream.Close
Set objTextStream = Fso.OpenTextFile(GetPath & fichier.Name, ForWriting, True)
objTextStream.Write strtmp(i)
Next
objTextStream.Close
End If
Next
'Fonction de récupération du répertoire courant
Function GetPath()
Dim path
path = WScript.ScriptFullName
GetPath = Left(path, InStrRev(path, ""))
End Function
Set objTextStream = Nothing
Set f = Nothing
Set fso = Nothing
MsgBox "Modifications effectuées !!!", vbInformation