Fonction ajout ou suppression de ligne dans un fichier

Contenu du snippet

Voila, suite à une question posé sur le forum, je joint ces 2 fonctions qui peuvent étre utile aux debutants!!!

Ex d'utilisation :

Insere_FicTxt "Test ajout de ligne", "c:\fichier.txt", 2
insere le texte "Test ajout de ligne" dans le fichier "c:\fichier.txt" à la ligne 2

SupprLigne 2, "c:\fichier.txt"
Supprimer la 2éme ligne du fichier "c:\fichier.txt"

RemplaceTxt "c:\fichier.txt", "1er", "Premier"
Remplace tous les 1er par premier dans le fichier

Source / Exemple :


'---------------------------------------------------------------------------
'Fonction Inserer une ligne de texte dans un fichier a la ligne de son choix
'---------------------------------------------------------------------------
Public Function Insere_FicTxt(Texte As String, Fichier As String, Optional Ligne As Integer = 1)
Dim VarFichier As String
Open Fichier For Input As #1
VarFichier = input(LOF(1), 1)
Close #1
'Si 1er ligne
If Ligne = 1 Then VarFichier = Texte & vbCrLf & VarFichier:  GoTo Ecrit
'Si Dans le fichier
Dim VarNr As Integer
For i = 1 To Len(VarFichier)
If Mid(VarFichier, i, 1) = Chr(13) And Mid(VarFichier, i + 1, 1) = Chr(10) Then VarNr = VarNr + 1
If VarNr = Ligne - 1 Then VarFichier = Mid(VarFichier, 1, i + 1) & Texte & CrLf & Mid(VarFichier, i, Len(VarFichier)): Exit For: GoTo Ecrit
Next i
'Si derniere ligne ou +
If VarNr < Ligne - 1 Then VarFichier = VarFichier & vbCrLf & Texte: MsgBox "ajout der"
Ecrit:
Open Fichier For Output As #1
Print #1, VarFichier
Close #1
End Function

'--------------------------------------------------------------
'Fonction Supprimer la ligne de son choix dans un fichier texte
'--------------------------------------------------------------
Public Function SupprLigne(NrLigne As Integer, Fichier As String)
Dim VarFichier As String
Dim VarNr As Integer
Dim Ligne As String
Open Fichier For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
VarNr = VarNr + 1
If VarNr <> NrLigne Then VarFichier = VarFichier & Ligne & vbCrLf
Loop
Close #1
'ecriture du fichier
Open Fichier For Output As #1
Print #1, VarFichier
Close #1
End Function

'--------------------------------------------------------------
'Fonction Recherche et remplace le texte dans un fichier
'--------------------------------------------------------------
Public Function RemplaceTxt(Fichier As String, TxtSource As String, TxtDestination As String)
Dim Ligne As String
Dim Varfichier As String
Open Fichier For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
Ligne = Replace(Ligne, TxtSource, TxtDestination)
varfic = varfic & Ligne & vbCrLf
Loop
Close #1
'ecriture du fichier
Open Fichier For Output As #1
Print #1, Varfichier
Close #1
End Function

Conclusion :


Voila, j'espére que ça sera utile????

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.