Question 206

Comment créer un fichier texte en Visual Basic ?

Presque toutes les applications informatiques manipulent des fichiers texte.

Il est très simple de créer un fichier texte en VB, en utilisant 4 instructions et fonctions : Freefile, Open, Print # et Close.

Le programme suivant va créer un fichier texte nommé "monfichier.txt", à l'emplacement "C:\publicdata". On suppose dans cet exemple que le répertoire "C:\publicdata" existe et qu'il est accessible depuis ce programme. On se réfèrera à l'article Mon programme doit sauvegarder des données. Où peut il le faire et comment ? pour de plus amples informations concernant la bonne localisation des données.

Option Explicit

' Exemple de création d'un fichier texte
'
Private Sub Form_Load()

    Dim f           As Integer
    Dim FileName    As String
    
    FileName = "c:\publicdata\monfichier.txt"
    
    ' Obtention d'un numéro de fichier libre
    f = FreeFile
    
    ' Ouverture en mode écriture ("output")
    Open FileName For Output As #f
    
        ' Ecriture de 2 lignes
        Print #f, "Bonjour"
        Print #f, "tout le monde !"
    
    ' Fermeture du fichier
    Close #f
    
End Sub

Quelques explications : L'instruction Freefile retourne un entier représentant le prochain numéro de fichier disponible. L'instruction "Open" est utilisé pour ouvrir un fichier. Dans cet exemple, l'ouverture se fait en mode écriture (output). L'instruction "print #" permet décrire une ligne de texte dans le fichier. Enfin, l'instruction "Close" est utilisée pour fermer le fichier après la dernière écriture.

Ce qu'il faut retenir
  • Il faut toujours utiliser Freefile pour obtenir un numéro de fichier libre, et ne jamais utiliser directement une constante telle que 1, 2, etc. La raison en est simple : seule l'utilisation de freefile peut garantir de retourner un descripteur de fichier vraiment disponible, à l'instant 't' et ce indépendamment du reste du programme, qui peut tout à fait avoir aussi ouvert un fichier de son coté. Enfin, utiliser Freefile rend le code isolé et autonome : le code utilisant Freefile peut être inclut dans une procédure ou fonction autonome et être réutilisé sans risque de collisions.
  • Lorsqu'on ouvre un fichier en mode "output", le fichier est créé si il n'existe pas. Si il existe déjà, alors le fichier est écrasé, le contenu précédent est perdu. Si on veut ajouter des données à un fichier existant, il faut utiliser le mode "append" (Voir section "Pour aller plus loin")
  • Seule l'exécution de l'instruction Close garantit que les écritures soient faites et le fichier enregistré et fermé.
Pour aller plus loin

Voir aussi :

Date de publication : 24 janvier 2009
Dernière modification : 24 janvier 2009
Rubriques : Fichiers & dossiers, Généralités
Mots-clés : créer, création, fichier, file, text, texte, print, output, sortie, ouvrir, open, freefile, close, écrire, écriture, append