[VB6 - VBA] Write #1, var1, var2...

Write #1, var1, var2... [VB6 - VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 27-01-2005 à 11:03:30    

Salut à tous,
 
Un p'tit soucis :
Je veux écrire dans un fichier TXT ou XLS, le contenu de N variables.
N est inconnu jusqu'au moment de l'écriture.
 
Comment puis je coder le write dans ce cas ?
Car je ne peux pas écrire :
 
Select Case NbVar

Reply

Marsh Posté le 27-01-2005 à 11:03:30   

Reply

Marsh Posté le 27-01-2005 à 11:05:59    

Chiotte...
Fausse manip.
 
Voir la fin de mon message dans ce second post :
 
Je ne peux pas écrire :
 
Select Case NbVar
  Case 1
    write #1, var1
  Case 2
    write #1, var1, var2
...etc
 
NbVar étant compris entre 1 et 255 (byte), c'est une méthode impensable.
Avez vous une idée à me soumettre ?
 
Merci
 
Laurent
 
 

Reply

Marsh Posté le 27-01-2005 à 11:09:23    

Une boucle?


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 27-01-2005 à 11:30:09    

OK...
Mais comment tu la code cette boucle ??
C'est là mon pbe !
 
Car il faudra toujours appeler la fonction "write" et balancer à sa suite les N variables.
 
J'ai beau retourner le pbe, je ne vois pas comment m'en sortir.
 

Reply

Marsh Posté le 27-01-2005 à 11:39:06    

tes variables sont nommées var1, var2, var3, etc. ?
 
Il est là ton problème, fais un tableau, ça sera beaucoup plus facile.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 27-01-2005 à 11:44:19    

Non, non... var1, var2... c'était pour l'exemple.
Bon admettons. Je fais un tableau :  
 
dim tab() as string
...
redim tab(NbVar)
 
for i = 1 to nbvar  
  tab(i) = ...
next i
 
et ensuite ?
comment écris tu les enregistrements non vides du tableau ?
 
(j'vois pas comment tu veux procéder)

Reply

Marsh Posté le 27-01-2005 à 11:49:04    

ben je fais une boucle sur le Write
 
Write #1, tab(i)
 
pis voilà.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 27-01-2005 à 11:51:13    

Sans dec ?
Ca marche ce truc ?
Dans ce cas, mon pbe va etre super simple à régler.
 
Je tente ça tout de suite.
 
Merci
 
Laurent

Reply

Marsh Posté le 27-01-2005 à 12:05:40    

Et ben non !
Ca ne marche pas.
 
Avec cette méthode, je change de ligne à chaque write.
Ce que je veux, c'est toutes les variables sur la même ligne avec un séparateur entre elles. Et changer de ligne à l'itération suivante (nouvelle série de variables).
 
Si je me fais bien comprendre
 
Un truc dans le genre :
1var1, 1var2, 1var3...
2var1, 2var2, 2var3...
...
 
Et non
1var1
1var2
1var3
...
2var1
2var2
2var3
...
...
 

Reply

Marsh Posté le 27-01-2005 à 12:32:47    

dans ce cas, utilise Join pour fusionner tous les éléments de ton tableau en une seule string, tu n'auras qu'un write à faire de cette string :spamafote:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 27-01-2005 à 12:32:47   

Reply

Marsh Posté le 27-01-2005 à 13:29:33    

Ouaip...
Et ben non !
Car dans ce cas, je n'ai qu'une variable et non N.
Quand j'importe sous Excel, j'ai toute ma ligne qui se retrouve dans la même cellule. Au lieu d'avoir une variable par colonne.
 
Je sais...
Moi aussi les bras m'en tombe.
Ca parait tout simple, et quand on y réfléchit, je ne suis pas sur que cela soit faisable.
 
:-((

Reply

Marsh Posté le 27-01-2005 à 16:12:48    

meme si tu separes tes variables par des ; ?

Reply

Marsh Posté le 27-01-2005 à 16:29:21    

ben vouaip...
 
dans ma cellule Excel, j'ai un truc du genre :
"usqdvs;jshdsq;jdshvds;shzsvgq;toto"
Le tout regroupé dans la première cellule de la colonne.
Type fichier .CSV
 
Voila... c'est un bon résumé : j'obtient un format CSV.
Je voudrais du XLS.
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed