Supprimer des lignes de text

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
Configuration: Mac OS X
Firefox 3.0.10
Texedit, Word, Excel,

6 réponses

  1. 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
    1. 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
      1. Contributeur
        hello
        Sur Mac OS X, tu as accès à la comande sed ?
        sed '/^XXXX/d;/^ZZZZ/d' fichier.txt > nouveau.txt
        0
        1. 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
          1. Contributeur
            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
            1. re,
              oui, j'ai un mode terminal, jamais utilisé à ce jour, mais je suis disposé à le faire.
              cordialement. Bob
              0