VBA: Écrire / sauvegarder du texte dans un fichier

En VBA, il est assez simple d'écrire (sauvegarder) un texte dans un fichier. Il s'agit d'une fonctionnalité indispensable à tout langage de programmation – VBA inclus.

VBA: sauvegarder du texte dans un fichier TXT
VBA: sauvegarder du texte dans un fichier TXT

 

Il vous suffit d'utiliser le code qui suit en indiquant le nom du nouveau fichier (= le chemin complet) et le texte (chaîne de caractères) à exporter selon vos besoins. Cette procédure est très rapide et peut s'avérer très pratique.

Le suffixe du fichier dans lequel le texte peut être sauvegardé peut être le classique .txt, le .csv ou tout autre suffixe (de préférence un qui n'est pas utilisé par une application) comme par exemple .log.

Il est même possible d'exporter le texte dans un fichier sans suffixe. Dans ce cas, quand vous voudrez l'ouvrir via Windows Explorer, vous devrez choisir avec quel application vous voudrez l'ouvrir (comme Windows ne pourra pas choisir une application par défaut).

Exporter / sauvegarder un texte dans un fichier avec VBA

Voici donc le code VBA pour créer une procédure Subtous les paramètres se trouvent à l'intérieur de cette procédure et aucun argument n'est donc nécessaire. Il vous suffit de copier & coller ce code dans votre projet VBA et de modifier le texte à exporter ainsi que le nom et emplacement du fichier exporté.

 

Fonction VBA pour écrire le texte dans un fichier

La fonction suivante utilise deux arguments de type String – 1) le chemin + nom du fichier et 2) la chaîne de caractères à exporter.

 

Et la procédure VBA suivante montre l'exemple d'utilisation de cette fonction:

 

Le format du texte à exporter vers un fichier

Par défaut, la chaîne de caractères sera exportée en une seule ligne. Si vous voulez que la chaîne de caractères soit sauvegardé en plusieurs lignes, il est possible de séparer les lignes en insérant le code VBA du "retour à la ligne" suivant: Chr(13) & Chr(10) aux endroits appropriés avant l'écriture dans le fichier.

Ce qui donne en pratique ceci:

La chaîne "a b c" sera exporté en une seule ligne >> a b c

La chaîne "a" & Chr(13) & Chr(10) & "b" & Chr(13) & Chr(10) & "c" sera exportée en trois lignes:
a
b
c

L'export (la sauvegarde) d'une chaîne de caractères a de nombreuses utilisations possibles. Vous pouvez ainsi stocker différentes informations de manière permanente, créer le suivi des actions de l'utilisateur (log), etc.

Pour aller plus loin en VBA

Si vous voulez approfondir votre connaissance à ce sujet (créations de fichiers texte), vous pouvez consulter la page Microsoft sur la notion de FreeFile.

Sinon, d'autres articles sur VBA sont disponibles pour vous ici sur Excel-Malin.com

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

4 commentaires sur “VBA: Écrire / sauvegarder du texte dans un fichier”