Supprimer de ligne dans un texte avant une chaine spécifiée [Résolu]

Signaler
Messages postés
2
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
4 juin 2008
-
cs_FkB
Messages postés
2
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
4 juin 2008
-
Bonjour,

je cherche, en vbs, à supprimer dans un fichier, toutes les lignes qui se trouvent avant une chaîne de caractères spécifiée dans le vbs.

Pouvez-vous m'aider ?

Fkb.

2 réponses

Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
24
 Bonjour à tous,

Lecture du fichier ligne à ligne
Implémentation d'un tableau quand mot recherché ok
Ecriture du fichier à partir du tableau

Option Explicit
Const ForReading = 1
Dim objFso, objFile, objTextStream
Dim arrLine()
ReDim arrLine(0)
Dim strLine, strSearch
Dim File_writing
Dim i

objFile = "d:\processes.txt"
strSearch = "machin"

Set objFso = CreateObject("Scripting.FileSystemObject")
Set objTextStream = objFso.OpenTextFile(objFile, ForReading)

Do While Not objTextStream.AtEndOfStream
  
   strLine = objTextStream.ReadLine
      If InStr(strLine,strSearch) > 0 And File_writing False Then File_writing True
  
   If File_writing = True Then
      ReDim Preserve arrLine(UBound(arrLine) + 1)
      arrLine(UBound(arrLine)) = strLine 
   End If

Loop
objTextStream.Close

MsgBox Join(arrLine,vbLf)

'Ecriture nouveau fichier
Set objTextStream = objFso.CreateTextFile(objFile)
For i = 1 To UBound(arrLine)
    objTextStream.WriteLine arrLine(i)
Next
objTextStream.Close

Set objTextStream = Nothing
Set objFso  = Nothing

jean-marc
Messages postés
2
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
4 juin 2008

Merci ça marche nickel !!!