Visual Basic for Applications:
Lecture d'un fichier texte

Comment faire :

La manière la plus simple de lire un fichier texte en VBA est d’utiliser l’instruction Open en combinaison avec les fonctions Input ou Line Input. Voici comment vous pouvez le faire :

  1. Ouvrir le fichier pour lecture - Premièrement, vous devez ouvrir le fichier. Assurez-vous que le chemin du fichier est accessible à l’application.
Open "C:\exemple.txt" For Input As #1
  1. Lire le contenu du fichier - Vous pouvez lire ligne par ligne en utilisant Line Input ou tout le fichier en utilisant Input.
  • Lecture ligne par ligne :
Dim fileContent As String
While Not EOF(1) ' EOF = Fin De Fichier
    Line Input #1, fileContent
    Debug.Print fileContent ' Affiche la ligne dans la fenêtre Immédiate
Wend
Close #1
  • Lecture de tout le fichier d’un coup :
Dim fileContent As String
Dim fileSize As Long
fileSize = LOF(1) ' LOF = Longueur Du Fichier
If fileSize > 0 Then
    fileContent = Input(fileSize, #1)
    Debug.Print fileContent
End If
Close #1
  1. Exemple de sortie :

En supposant que exemple.txt contient :

Bonjour,
Ceci est un fichier texte d'exemple.
Bonne lecture !

La sortie dans la fenêtre Immédiate serait le texte complet ou ligne par ligne en fonction de la méthode choisie.

Approfondissement

La lecture de fichiers texte en VBA est une pierre angulaire des tâches d’automatisation de bureau depuis des décennies. Les méthodes illustrées, bien qu’efficaces dans l’écosystème VBA, peuvent sembler archaïques par rapport aux pratiques de programmation modernes qui emploient souvent des abstractions de plus haut niveau ou des bibliothèques pour les opérations sur fichiers. Par exemple, Python utilise la fonction open() à l’intérieur d’une instruction with, offrant une syntaxe plus claire et des capacités de gestion automatique des fichiers.

Cela dit, lorsqu’on travaille dans les limites de l’environnement Microsoft Office, VBA fournit une méthode directe et native pour manipuler des fichiers, ce qui peut être crucial pour des applications nécessitant une interopérabilité avec les produits Office. La simplicité d’ouvrir un fichier texte, de lire et de traiter son contenu ligne par ligne ou dans son intégralité, sans avoir besoin de bibliothèques externes ou de configurations complexes, fait de VBA un outil précieux dans la boîte à outils du développeur Office.

Bien qu’il existe de meilleures alternatives dans les langages de programmation modernes pour gérer les fichiers de manière plus efficace et avec moins de code, comprendre et utiliser les capacités de VBA pour lire des fichiers texte peut considérablement améliorer la productivité et étendre la fonctionnalité des applications basées sur Office.