Modifier un fichier texte [Résolu]

Signaler
Messages postés
6
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 novembre 2007
-
Messages postés
6
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 novembre 2007
-
Bonjour
Je cherche à modifier un fichier texte déjà existant à une ligne déterminée.

Je sais déterminer la ligne en question mais je ne sais pas comment la remplacer par mon nouveau texte

Merci

8 réponses

Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
25
Salut,tu trouvera certainement quelque chose ici.

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
salut,
je t'ai fait un exemple ici : http://www.codyx.org/snippet_remplacer-une-chaine-autre-dans-fichier_187.aspx

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonsoir,

La semaine dernière, j'ai proposé:
http://www.vbfrance.com/infomsg_MODIFIER-CHAINE-CARACTERES-DANS-TOUS-SCRIPTS-REPERTOIRE-COURANT_781308.aspx#19

Pour lire une ligne désignée.

MsgBox SkipTextFile
Function SkipTextFile   Const ForReading 1, ForWriting 2
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   'Set f = fso.OpenTextFile("d:\IP_2.txt", ForWriting, True)
   'f.Write "Bonjour !"
   Set f = fso.OpenTextFile("d:\IP_2.txt", ForReading)
   f.Skip(2)
   SkipTextFile =   f.ReadLine
   Set fso = nothing
End Function

jean-marc
Messages postés
6
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 novembre 2007

Merci à tous d'avoir répondu aussi vite


suite à la réponse de tof008 j'ai persévéré dans mes recherche et j'ai fini par obtenir qqchose:


    A = FreeFile
    Dim colLignes As New Collection
    Dim ff As Integer
    ff = FreeFile
   
    Dim sLigne As String
   
'Lecture du fichier, envois chaque ligne dans la collection
    Open chemin For Input As #ff
        While Not EOF(ff)
            Line Input #ff, sLigne
            colLignes.Add sLigne
        Wend
    Close #ff
   
'Modification
    colLignes.Add nouvelle_ligne , i_ligne
    colLignes.Remove (i_ligne + 1)
   
    Open chemin For Output As #ff
       For i = 1 To colLignes.Count
            Print #ff, colLignes(i)
       Next
    Close #ff

mais je vais je n'ai pas bien fait mon travail et j'ai omis la source!!
Je débute sur le forum...
si quelqu'un se reconait  je serais ravi de le remercier .

merci encore pour toutes vos proposition
au revoir
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
le problème de l'exemple que tu proposes spartacus1er c'est que si tu cherches une série de mots sur plusieurs lignes (avec vbcrlf compris) tu ne la trouveras pas...

qui plus est utiliser une collection pour çà.... un peu gourmand à mon goût ;)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
6
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 novembre 2007

mon fichier texte est formaté et la ligne est identifiée par 4 caractère qui sont nécéssairement sur la même ligne
et qui plus est au début...


du coup c'est très simple à identifier


cependant je suis d'accord : il y a  pêché de gourmandise

mais je suis pas un as et cette option à le double mérite de fonctionner et que je crois que je comprends...
 
alors si tu peux proposer moins gourmant plus (et plus court pourquoi pas)

je suis pas obtu
merci encore à tous
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
beh c'est déjà proposé

<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
Messages postés
6
Date d'inscription
jeudi 8 juin 2006
Statut
Membre
Dernière intervention
26 novembre 2007

oui, excuse-moi