Supprimer lignes fichier txt

Fermé
jv - 10 nov. 2014 à 14:31
Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 - 10 nov. 2014 à 16:24
Bonjour,
Dans un fichier texte de 6 000 000 de lignes je voudrais supprimer les lignes d'un champ contenant les années 2010, 2011,et 2012 .
Merci de votre aide.

2 réponses

f894009 Messages postés 17206 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 22 novembre 2024 1 710
10 nov. 2014 à 16:05
Bonjour,
Si les annees ne sont qu'a un seul endroit, vous pouvez la commande DOS Findstr

ouvrir une invite de commande
placez vous dans le repertoire du fichier
tapez la ligne suivante en mettant le nom du fichier a lire

findstr/v "2010 2011 2012" fichier.txt > result.txt
0
Normad Messages postés 112 Date d'inscription dimanche 6 juin 2010 Statut Membre Dernière intervention 10 juin 2015 39
10 nov. 2014 à 16:24
Bonjour,
Sinon, en lisant ligne après ligne et en réécrivant un deuxième fichier, ci-dessous une base de code non testée (pas le temps de créer des fichiers pour tester) :

Private Sub TraitementFichier()
    Dim Fichier As String, F As Integer, F2 As Integer, strLine As String
    Fichier = "C:\chemin\nomfichier.txt"
    FichierCopy = "C:\chemin\copyfichier.txt"
    
    If Dir(Fichier) = "" Then
        MsgBox "le fichier " & Fichier & " n'existe pas", vbCritical
        Exit Sub
    End If
    F = FreeFile
    F2 = FreeFile
    
    
    Open Fichier For Input As #F Len = 1
    
        Open FichierCopy For Append As #F2
    
    Do Until EOF(F)
        
        Line Input #F, strLine
        If InStr(1, strLine, "2010") = 0 _
        And InStr(1, strLine, "2011") = 0 _
        And InStr(1, strLine, "2012") = 0 Then
            
            Print #F2, strLine
        
        End If
    
    Loop
    Close #F
    Close #F2
End Sub
0