Lire et enregistrer un fichier texte

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 732 fois - Téléchargée 41 fois

Contenu du snippet

Code permettant de lire et d'enregistrer un fichier TEXTE

Source / Exemple :


Private Sub Ouvrir_Click()
Dialog.Filter = "Fichiers texte (*.txt)|*.txt|Tous les fichiers|*.*"
Dialog.ShowOpen
If Dialog.FileName <> "" Then
Text1.Text = ""
Open Dialog.FileName For Input As #1
Do While Not EOF(1)
Input #1, ligne
Text1.Text = Text1.Text & ligne & vbCrLf
Loop
Close
End If
End Sub

Private Sub Enregistrer_Click()
Dialog.Filter = "Fichiers texte (*.txt)|*.txt|Tous les fichiers|*.*"
Dialog.ShowSave
If Dialog.FileName <> "" Then
Open Dialog.FileName For Append As #2
Open App.Path & "\temp.txt" For Append As #1
Print #1, Text1.Text
Close
Kill (Dialog.FileName)
Name App.Path & "\temp.txt" As Dialog.FileName
End If
End Sub

Conclusion :


Ne pas oublier de mettre Text1 (ou autre si vous l'avez appelé autrement) en multiligne :o)

A voir également

Ajouter un commentaire

Commentaires

Zikoom
Messages postés
6
Date d'inscription
mercredi 25 octobre 2000
Statut
Membre
Dernière intervention
17 juillet 2002
-
Salut ! Merci mais déjà moi quand j'appuis sur le bouton ANNULER ça ne génère pas d'erreur... Et en fait je ne veux pas supprimer la ligne lors de la lecture du fichier mais lors de l'enregistrement. Donc déjà si tu pouvais m'expliquer où est-ce que tu vois une erreur.. et si tu avais une idée pour l'enregistrement.
Merci !
leneuf22
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003
-
Non, tu ne peux pas supprimer la ligne à l'enregistrement. En tous cas pas avec ce que tu utilises (open X for...)
Oui, ça ne génère pas d'erreur dans mon code car j'ai mis un gestionnaire pour l'erreur (étiquette "erreur:") Dans ton code non plus car tu n'as pas mis le cancelerror, et que tu fais un test pour voir si la chaine est vide. Vu que cancelerror est la pour ça, autant l'utiliser. Enfin c'est toi qui vois.
Si tu mets cancelerror et que tu appuies sur annuler pendant ShowSave, ça te fera une erreur si tu n'as pas de gestionnaire.

Mais tu peux supprimer le gestionnaire pour ShowOpen, c'est vrai qu'il ne sert à rien.

En bref :
Enlève les 2 "On Error GoTo erreur"
Enlève les 2 "erreur:
If (Err.Number = 32755) Then Exit Sub"

Affiche la fenêtre ShowSave, et clique sur annuler ;-)
Et note aussi que mon code est moins gourmand en ressources que le tien.
leneuf22
Messages postés
156
Date d'inscription
samedi 12 janvier 2002
Statut
Membre
Dernière intervention
4 mars 2003
-
Je précise : c'est le fait de mettre CancelError = true qui fera qu'il y aura une erreur quand tu cliques sur annuler.
Il suffit d'écrire un gestionnaire pour l'erreur n°32755 pour que l'erreur soit gérée. C'est donc normal que tu ne la voie pas :)
cs_Rank
Messages postés
4
Date d'inscription
lundi 12 mai 2003
Statut
Membre
Dernière intervention
25 juillet 2003
-
Pourquoi, quand il y a une virgule dans mon texte, ça cré un saut de ligne une fois affiché dans un textbox???
samio07
Messages postés
3
Date d'inscription
dimanche 24 février 2008
Statut
Membre
Dernière intervention
27 janvier 2009
-
svp si qq1 peut me fournir ce code avec une interface graphique avec vb.net et merci
Commenter la réponse de Zikoom

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.