Une petite source sans prétention, suite à une demande dans le forum
Exemple de code source
Source / Exemple :
'**************************************************************
'************Ecriture et Lecture dans un fichier Text******************
'******************Par Nocturne 2002*****************************
'**************************************************************
'**************************************************************
'Procedure de création et d'écriture dans un fichier*********************
'**************************************************************
Private EnrFich, FicLog, FicLogBis
Set EnrFich = CreateObject("Scripting.FileSystemObject") 'Création objet**
On Error Resume Next
Set FicLog = EnrFich.CreateTextFile(App.Path & "\MonFichier.txt", False)
If Err.Number = 0 Then 'Si aucune erreur, le fichier vient d'être créé*****
Set FicLog = EnrFich.GetFile(App.Path & "\MonFichier.txt") 'Chargement du fichier
Set FicLogBis = FicLog.OpenAsTextStream(8, -2) 'Ouverture du fichier
FicLogBis.WriteLine (RichTextBox1.Text) 'Ecriture dans le fichier
FicLogBis.Close 'Fermeture
Set FicLogBis = Nothing
FicLog.Close 'Fermeture du fichier
Set FicLog = Nothing
Else 'Si existance d'erreurs, alors le fichier existe déjà*****
Set FicLog = EnrFich.DeleteFile(App.Path & "\MonFichier.txt") 'Effacement du fichier existant, noter que si vous n'effacez pas le fichier, les informations seront mise à la suite des infos contenu dans le fichier (en option)
Set FicLog = EnrFich.CreateTextFile(App.Path & "\MonFichier.txt", False) 'Création du fichier, si vous l'avez effacé (en option)
Set FicLog = EnrFich.GetFile(App.Path & "\MonFichier.txt") 'Chargement du fichier
Set FicLogBis = FicLog.OpenAsTextStream(8, -2) 'Ouverture du fichier
FicLogBis.WriteLine (RichTextBox1.Text) 'Ecriture dans le fichier
FicLogBis.Close 'Fermeture
Set FicLogBis = Nothing
FicLog.Close 'Fermeture du fichier
Set FicLog = Nothing
End If
EnrFich.Close 'Fermeture de l objet
Set EnrFich = Nothing
'**********************************************************
'Procédure de lecture complet dans un fichier*******************
'**********************************************************
Set EnrFich = CreateObject("Scripting.FileSystemObject") 'Création objet**
On Error Resume Next
Set FicLog = EnrFich.CreateTextFile(App.Path & "\MonFichier.txt", False) 'Création du fichier, si il y a une erreur, le fichier existe
If Err.number = 0 Then 'Si aucune erreur, le fichier vient d'être créé*****
FicLog.Close 'Fermeture du fichier vide
Set FicLog = Nothing
Set FicLog = EnrFich.DeleteFile(App.Path & "\MonFichier.txt") 'Effacement du fichier vide existant (en option)
Else 'Si existance d'erreur, le fichier existe, lecture du fichier pour la récupération des informations
Set FicLog = EnrFich.GetFile(App.Path & "\MonFichier.txt") 'Chemin du fichier
Set FicLogBis = FicLog.OpenAsTextStream(1, -2) 'Ouverture du fichier
RichTextBox1.Text = FicLogBis.ReadAll 'Récupération de toutes les lignes du fichier
FicLogBis.Close 'Vide le tampon
Set FicLogBis = Nothing
End If
FicLog.Close 'Fermeture du fichier
Set FicLog = Nothing
EnrFich.Close 'Fermeture de l objet
Set EnrFich = Nothing
'************************************************************
'Pour info, vous pouvez lire le fichier ligne par ligne en utilisant ReadLine au lieu de ReadAll, mais ceci dans une boucle avec des numéros de lignes, il faut alors le prévoire lors de l'écriture du fichier.
'Moi, je préfere utiliser une autre procédure de lecture ligne par ligne qui est la suivante
'************************************************************
'************************************************************
'Procédure de lecture ligne par ligne d'un fichier text******
'************************************************************
Dim Contenu As String
Dim ContenuFichier
Open App.Path & "\MonFichier.txt" For Input As #1 'Ouverture du fichier, attention il doit exister car autrement il y a une erreur qui se produit
Do While Not EOF(1) 'Boucle
Line Input #1, ContenuFichier 'Lecture de la ligne
If Trim(ContenuFichier) <> "" Then
If Trim(Contenu) <> "" Then
Contenu = Contenu & Chr(13) & ContenuFichier
Else
Contenu = ContenuFichier
End If
End If
Loop
Close #1
RichTextBox1.Text = Contenu
'************************************************************
'************************************************************
Conclusion :
L'intérêt de cette source est l'utilisation de :
Scripting.FileSystemObject, CreateTextFile, OpenAsTextStream, GetFile, DeleteFile, WriteLine, ReadAll, ReadLine
et de :
Open .../... For Input As #1, Line Input #1
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.