Supprimer une ligne dans un fichier

Contenu du snippet

Ce code permet de supprimer une ligne dans un fichier.

Utilisation : Public Function DeleteLine (fName As String, LineNumber As Long) As Boolean

fName : indique le chemin et le nom du fichier à traiter
LineNumber : Indique le numéro de la ligne à supprimer

Exemple : DeleteLine "C:\MonFichier.txt", 2
--> suppression de la ligne 2 dans le fichier MonFichier.txt

Source / Exemple :


Public Function DeleteLine(fName As String, LineNumber As Long) _
     As Boolean

  Dim oFSO As New FileSystemObject
  Dim oFSTR As Scripting.TextStream
  Dim ret As Long
  Dim lCtr As Long
  Dim sTemp As String, sLine As String
  Dim bLineFound As Boolean
  
  On Error GoTo ErrorHandler
  If oFSO.FileExists(fName) Then
     Set oFSTR = oFSO.OpenTextFile(fName)
    lCtr = 1
     Do While Not oFSTR.AtEndOfStream
        sLine = oFSTR.ReadLine
        If lCtr <> LineNumber Then
            sTemp = sTemp & sLine & vbCrLf
        Else
            bLineFound = True
            
        End If
        lCtr = lCtr + 1
    Loop
   
     oFSTR.Close
     Set oFSTR = oFSO.CreateTextFile(fName, True)
     oFSTR.Write sTemp
  
    DeleteLine = bLineFound
   End If
   

ErrorHandler:
On Error Resume Next
oFSTR.Close
Set oFSTR = Nothing
Set oFSO = Nothing

End Function

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.