Suppression d'une Ligne dans un .TXT

Résolu
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 - 18 oct. 2004 à 11:03
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 18 oct. 2004 à 14:21
Comment supprimer une ligne dans un Fichier txt...
je le parcour comme suit..
je voudrais si Nom="TOTOT" ( par exemple )supprimer cette Ligne.

Open MonFichier For Input As #1
Do Until EOF(1)
Line Input #1, Ligne
Nom = Mid(Ligne, 1, 5)
DoEvents
End If
Loop
Close #1

Merci

It@li@

3 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
18 oct. 2004 à 13:52
Bonjour
La méthode classique :

Open MonFichier For Input As #1
Open MonFichier2 For Output As #2
Do Until EOF(1)
Line Input #1, Ligne
Nom = Mid(Ligne, 1, 5)
If Nom <> "TOTOT" Then Print #2, Ligne
Loop
Close 
Kill MonFichier 
Name MonFichier2 As MonFichier 
3
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
18 oct. 2004 à 11:03
sans le End if !!!!

It@li@
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 oct. 2004 à 14:21
moins classique.

    Dim tmp As String
    Dim x   As Integer
    Dim x1  As Integer
    Dim x2  As Integer
    
    Open Monfichier For Binary As #1
       tmp = Space$(LOF(1))
       Get #1, , tmp
       Close #1
       
    x = InStr(tmp, "TOTOT")
    If x > 0 Then
       x1 = InStrRev(tmp, vbCrLf, x)
       x2 = InStr(x, tmp, vbCrLf)
       Kill Monfichier
       Open Monfichier For Binary As #2
          Put #2, , Left$(tmp, x1 + 1)
          Put #2, , Mid$(tmp, x2 + 2)
          Close #2
       End If
0
Rejoignez-nous