Supprimer de ligne dans un texte avant une chaine spécifiée

Résolu
cs_FkB Messages postés 2 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 4 juin 2008 - 2 juin 2008 à 11:43
cs_FkB Messages postés 2 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 4 juin 2008 - 4 juin 2008 à 17:19
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

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
3 juin 2008 à 07:05
 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
3
cs_FkB Messages postés 2 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 4 juin 2008
4 juin 2008 à 17:19
Merci ça marche nickel !!!
3
Rejoignez-nous