Supprimer lignes fichier txt
jv
-
Normad Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
Normad Messages postés 112 Date d'inscription Statut Membre Dernière intervention -
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.
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
-
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 -
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