Fonction write, writeline

Résolu
nchristedem Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
nchristedem Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'écris un code VBA (Excel) et je voudrais enregistrer mes données dans un txt. Je souhaite que les valeurs des variables Tr, Tc, Tx soient sur la même ligne mais séparée par des points-virgules (;). Le curseur doit aller à la ligne à la fin. Voici mon code:

Set fichier = objet.CreateTextFile("C:\Users\user\Desk... True) ' Crée le fichier d'enregistrement

entete = "Tr" + "; " + "Tc" + "; " + "Tx"+ "
fichier.WriteLine (entete) 'Ecrit l'entête

Instructions

fichier.Write (Tr)
fichier.Write (";")
fichier.Write (Tc)
fichier.Write (";")
fichier.WriteLine (Tx)

Le programme marche. Mon problème est que j'ai en réalité plus de trois variables à stocker (une vingtaine). Je serais obligé d'écrire donc vingt fois :
fichier.Write (variable)
fichier.Write (";")

Quand j'écris: fichier.WriteLine (Tr; Tc;Tx), ça ne marche pas.
N'y a-t-il pas plus simple que ce que j'avais fait?
N.B. Les variables sont des nombres (Dim As Double).

1 réponse

lemotard85
 
il faut utiliser une zone intermédiaire
champ_sortie = zone1 & ";" & zone2 & ";"
nom_fichier.writeline (champ_sortie)
0
nchristedem Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   4
 
mERCI remotard. On m'avait filié ce qui suit , c'est pareil que ta proposition.

fichier.WriteLine (Format(Tre, "0.00") & "; " & Format(Tr, "0.00") & "; " & Format(Trs, "0.00")

Sauf qu'on n'a pas besoin de variable intermédiaire. En plus, je peux formater les chiffres avec deux chiffres après la virgule.
0