Ce mois-ci, on s’attaque à la gestion de fichiers texte en VBA Access !

Bonjour et bienvenue dans ce nouvel article concernant les fonctions VBA pratiques et simples d’utilisation.

Aujourd’hui nous ne traiterons pas d’une fonction en particulier, mais de la manière de créer, modifier et de lire un fichier texte en VBA.

Dans un premier temps nous allons ouvrir le fichier texte. Pour cela il vous suffit d’écrire l’instruction suivante :

Open NomFichier For TypeOuverture As NumFichier

NomFichier :

Correspond au chemin au nom et à l’extension du fichier à ouvrir ou à créer.
(ex : C:\Users\Test\Documents\monfichier.txt)

TypeOuverture :

Correspond au type d’ouverture du fichier texte, il existe trois types d’ouverture :

  • Input : qui permet d’ouvrir le document en lecture seule (ne fonctionne que sur un fichier texte déjà existant)
  • Output : qui permet d’ouvrir le document en écriture (le fichier est vidé à chaque ouverture)
  • Append : qui permet d’ouvrir le document en écriture (le fichier écrit à la suite du texte déjà existant)

 

NumFichier :

Correspond à l’identifiant du fichier ouvert, celui-ci est unique et ne peut pas être réutilisé s’il est déjà ouvert. Afin de ne pas avoir de message d’erreur je vous conseil d’utiliser la fonction Freefile de cette façon :

Dim intFic As Integer

intFic = FreeFile

Open NomFichier For TypeOuverture As intFic

Une fois le fichier texte ouvert, vous pouvez désormais lire ou écrire dans celui-ci en fonction du type que vous avez choisi.

Pour la lecture (Input), afin de lire les lignes il faut que vous utilisiez l’instruction suivante :

Line Input #intFic, strLigne

Dim strLigne As String
While Not EOF(intFic)
                    Line Input #intFic, strLigne
                    MsgBox strLigne
Wend

Vous remarquerez que l’instruction Line input passe automatiquement à la ligne suivante dès qu’il est utilisé une fois. Pour retourner à des lignes précédentes, il vous faudra relancer le document. Et un message d’erreur apparaitra si vous dépassez le nombre de lignes du fichier.

Pour l’écriture (Output et Append), afin de lire les lignes il faut que vous utilisiez l’instruction suivante :

Line Input #intFic, strLigne

TxtAEcrire :

Correspond au texte que vous voulez écrire sur la ligne sélectionné du document. Si vous avez utilisé le type Output, cela écrira sur la première ligne du document. Si vous avez utilisé le type Append, le système écrira sur une nouvelle ligne à la suite du texte déjà existant dans le document. Comme avec l’instruction Line input, l’instruction Print passe automatiquement à la ligne suivante dès qu’il est utilisé une fois. 

Une fois votre document texte compléter vous devez fermer celui-ci à l’aide de l’instruction suivante :

Close #intFic

Voilà je pense avoir fait le tour des fichiers texte en VBA, vous êtes désormais prêt à vous amuser avec !

Merci à tous d’être arrivé jusqu’ici, je reviens vers vous avec un nouvel article le mois prochain.

En attendant portez-vous bien !