Private Function ReadFileToBuffer(ByVal szFileName As String, _
                                ByRef errCode As Integer, _
                                ByRef errString As String) As String
    Dim f As Integer
    Dim buffer As String

    ' trappe les erreurs
    On Error GoTo ReadFileToBuffer_ERR

    ' Ouverture du fichier en 'Binary'
    f = FreeFile
    Open szFileName For Binary As #f
        ' préallocation d'un buffer à la taille du fichier
        buffer = Space$(LOF(f))
        ' lecture complète du fichier
        Get #f, , buffer
    Close #f
    ReadFileToBuffer = buffer
ReadFileToBuffer_END:
    Exit Function
    
ReadFileToBuffer_ERR:
    ' Gestion d'erreur
    ReadFileToBuffer = ""
    errCode = Err.Number
    errString = Err.Description
    Resume ReadFileToBuffer_END
End Function



Sub RemoveLineFromFile(ByVal FileName As String, ByVal NumLine As Long)
    
    Dim f As Integer, errCode As Integer, errString As String
    Dim buffer As String
    Dim t() As String
    Dim i As Long
  
    
    buffer = ReadFileToBuffer(FileName, errCode, errString)
    t() = Split(buffer, vbCrLf)
    NumLine = NumLine - 1
    
    f = FreeFile
    Open FileName For Output As #f
        For i = 0 To UBound(t()) - 1
            If i <> NumLine Then
                Print #f, t(i)
            End If
        Next i
    Close #f
   
    
End Sub

Sub supressionderniereligne()
 
Dim NbLigne As Long
Dim intFic As Integer
Dim strLigne As String
Set wb = ThisWorkbook
   sPath = wb.Path & Application.PathSeparator
 
intFic = FreeFile
Open (wb.Path & Application.PathSeparator & "données.txt") For Input As intFic
While Not EOF(intFic)
    Line Input #intFic, strLigne
    NbLigne = NbLigne + 1
Wend
Close intFic
    
     Call RemoveLineFromFile(wb.Path & Application.PathSeparator & "données.txt", NbLigne)
    
End Sub