Fonction write, writeline

Résolu/Fermé
nchristedem Messages postés 23 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 12 décembre 2009 - 6 mai 2009 à 10:26
nchristedem Messages postés 23 Date d'inscription mercredi 29 avril 2009 Statut Membre Dernière intervention 12 décembre 2009 - 15 mai 2009 à 11:20
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

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 mercredi 29 avril 2009 Statut Membre Dernière intervention 12 décembre 2009 4
15 mai 2009 à 11:20
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