Ce module permet de modifier les fichier (seulement ceux qui sont constitués de lignes) tres simplement grace a des fonctions pour ajouter, supprimer et modifier les lignes désirées.
Source / Exemple :
Public Sub Del_Line(File As String, Line_Index As Integer)
Dim TemporyFile() As String
On Error GoTo ERREUR
TemporyFile = Read_File(File)
If Line_Index < 0 Or Line_Index > UBound(TemporyFile) Then
MsgBox "Cette ligne n'existe pas !", vbCritical, "Erreur"
Exit Sub
End If
If UBound(TemporyFile) = 0 Then
Erase TemporyFile
Exit Sub
End If
For i = Line_Index To UBound(TemporyFile) - 1
TemporyFile(i) = TemporyFile(i + 1)
Next
ReDim Preserve TemporyFile(UBound(TemporyFile) - 1)
Replace_File File, TemporyFile
Exit Sub
ERREUR:
Erase TemporyFile
End Sub
Public Sub Add_Line(File As String, Line_Index As Integer, Line_String As String)
Dim TemporyFile() As String
On Error GoTo ERREUR
TemporyFile = Read_File(File)
CHECK_AGAIN:
If Line_Index < 0 Then
MsgBox "Impossible d'inserer une ligne à cet index !", vbCritical, "Erreur"
Exit Sub
ElseIf Line_Index > UBound(TemporyFile) Then
ReDim Preserve TemporyFile(Line_Index)
TemporyFile(Line_Index) = Line_String
Replace_File File, TemporyFile
Exit Sub
End If
ReDim Preserve TemporyFile(UBound(TemporyFile) + 1)
For i = UBound(TemporyFile) To Line_Index + 1 Step -1
TemporyFile(i) = TemporyFile(i - 1)
Next
TemporyFile(Line_Index) = Line_String
Replace_File File, TemporyFile
Exit Sub
ERREUR:
ReDim TemporyFile(0)
GoTo CHECK_AGAIN
End Sub
Public Sub Modif_Line(File As String, Line_Index As Integer, Line_String As String)
Dim TemporyFile() As String
On Error GoTo ERREUR
TemporyFile = Read_File(File)
If Line_Index < 0 Or Line_Index > UBound(TemporyFile) Then
MsgBox "Cette ligne n'existe pas !", vbCritical, "Erreur"
Exit Sub
End If
TemporyFile(Line_Index) = Line_String
Replace_File File, TemporyFile
Exit Sub
ERREUR:
MsgBox "Fichier Temporaire vide !", vbCritical, "Erreur"
End Sub
Private Sub Replace_File(File As String, TemporyFile() As String)
On Error GoTo ERREUR
If Dir$(File) = vbNullString Or File = vbNullString Then
MsgBox "Fichier Inexistant !", vbCritical, "Erreur"
Exit Sub
End If
Open File For Output As #1
For i = 0 To UBound(TemporyFile)
Print #1, TemporyFile(i)
Next
Close #1
Exit Sub
ERREUR:
Kill File
End Sub
Private Function Read_File(File As String) As String()
Dim Result() As String
Dim NbLignes As Integer
If Dir$(File) = vbNullString Or File = vbNullString Then
MsgBox "Fichier Inexistant !", vbCritical, "Erreur"
Exit Function
End If
Open File For Input As #1
While Not EOF(1)
If NbLignes = 0 Then
ReDim Result(NbLignes)
Else
ReDim Preserve Result(NbLignes)
End If
Line Input #1, Result(NbLignes)
NbLignes = NbLignes + 1
Wend
Close #1
Read_File = Result
End Function
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.