Supprimer des lignes de text

bobjosse Messages postés 15 Statut Membre -  
 bobjosse -
Bonjour,
J'ai un fichier texte composé de 518360 lignes de brèves phrases.
Je voudrais supprimer par une procédure automatique toutes les lignes commençant par XXXX ou par ZZZZ. Je dois avoir 76000 lignes dans ce cas. Je peux mettre ce texte dans un tableur si besoin.
Un colistier aurait-il la solution ?
Merci à vous. Bien cordialement
Bob
A voir également:

6 réponses

qmike Messages postés 1599 Statut Membre 594
 
bonjour
Inspires ton de ca
Sub Sup_OU()
Dim rcel As Range
Range("A1").Select
Selection.CurrentRegion.Select
For Each rcel In Selection
If Left(rcel.Value, 4) = "ZZZZ" Then
rcel.EntireRow.Delete
End If
Next rcel
End Sub
0
Bidouilleu_R Messages postés 1209 Statut Membre 295
 
Bonjour ,

comme ton fichier et un peu grand....518360 lignes

je propose de procéder comme ça.

dans un module excel copie ce code
il ouvrira le fichier texte choisi et écrira un autre épuré en sortie.
(pas de risque de perdre la source.)


Sub Supp_Ligne()


Dim I As Integer
Dim TextLine As String

FichierSortieTXT = "C:\Data\fichier2.txt" 'change ici le chemin le nom que tu souhaite en sortie
Nom_Fichier = Application.GetOpenFilename ' ici tu sélectionne le fichier
If Nom_Fichier = "Faux" Then Exit Sub
If VarType(Nom_Fichier) = vbBoolean Then Exit Sub ' (annulation)





Open Nom_Fichier For Input As #1
Open FichierSortieTXT For Append As #2 ' ouvre le fichier en ajout


Do While Not EOF(1) ' tant que l'on est pas à la fin du fichier


I = I + 1
Line Input #1, TextLine
If Left(TextLine, 4) = "ZZZZ" Or Left(TextLine, 4) = "XXXX" Then

'on fait rien
Else
'la ligne ne commence pas par XXXXX ou ZZZZZ : je copie dans le nouveau fichier

Print #2, TextLine ' écriture de la ligne
End If



Loop

Close #1
Close #2
s = MsgBox("Boulot fini!!!!", vbOKOnly, "Fin")
End Sub
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
Sur Mac OS X, tu as accès à la comande sed ?
sed '/^XXXX/d;/^ZZZZ/d' fichier.txt > nouveau.txt
0
bobjosse
 
dubcek a écrit
"Sur Mac OS X, tu as accès à la comande sed ?"
je suis un utilisateur "superficiel". Je n'ai jamais utilisé de commandes. Comment puis-je vérifier si j'ai accès à cette commande ?
Merci. Cordialement
Bob
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
je ne connais pas mac, mais y a-t-il, comme Windows, un mode ligne de commande (shell ou terminal) où on peut taper des commandes ?
0
bobjosse
 
re,
oui, j'ai un mode terminal, jamais utilisé à ce jour, mais je suis disposé à le faire.
cordialement. Bob
0