Ecrire a une postion particuliere dans un fichier

Ecrire a une postion particuliere dans un fichier - VB/VBA/VBS - Programmation

Marsh Posté le 01-04-2005 à 11:12:37    

Salut,
 
 
Je cherche un truc pour ecrire en VBA des valeurs a des positions particulieres dans un fichier TXT (ou un String).
 
en gros, je recupere ce qu il y a dans un tableau XLS et je voudrais ecrire la 5iem cellule a la position du 20iem caractere, la cellule 8 a la position du 36iem caractere....
 
Je sais pas trop comment faire ca de maniere propre. (mes connaissances du VBA sur purement autodidacte alors ....)
 
Vous avez une idee ?


---------------
#mais-chut
Reply

Marsh Posté le 01-04-2005 à 11:12:37   

Reply

Marsh Posté le 01-04-2005 à 12:29:39    

non ?
personne n a d idee ?


---------------
#mais-chut
Reply

Marsh Posté le 01-04-2005 à 13:50:16    

personne peutr me dir alors comment copier une String a l interieur d une autre Sting  ?


---------------
#mais-chut
Reply

Marsh Posté le 01-04-2005 à 15:56:18    

et bien, c est toujours Bide sur ce forum ou c est un special 1ier avril ?

Reply

Marsh Posté le 03-04-2005 à 10:49:06    

ba un truc comme ca en C, c est tres facile, je trouve bizar que ce ne soit pas faisable en VBA


---------------
#mais-chut
Reply

Marsh Posté le 03-04-2005 à 11:30:05    

Mais si c'est faisable. Il te faut quelques bouts de codes :

Code :
  1. lettre = Left(Right(Range("B20" ).Value),8),1)


La on récupère dans le cellule B20, le premier caractère après le 8ème (en clair le 9eme caractère).
 
Cherche dans les post comment on fait pour écrire dans un fichier et le tour est joué  ;)  
 


Message édité par knakes le 03-04-2005 à 11:32:54
Reply

Marsh Posté le 03-04-2005 à 17:35:00    

Charge ta string, modifie-la comme tu le ferais en C et réécris ton fichier...


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 04-04-2005 à 13:41:59    

AlainTech a écrit :

Charge ta string, modifie-la comme tu le ferais en C et réécris ton fichier...


 
 
oui, mais en C, le type string n existe pas, et j aurrais penssé qu il existait une Methode, ou meme une facon de fair ca de maniere propore.


---------------
#mais-chut
Reply

Marsh Posté le 04-04-2005 à 13:47:16    

knakes a écrit :

Mais si c'est faisable. Il te faut quelques bouts de codes :

Code :
  1. lettre = Left(Right(Range("B20" ).Value),8),1)


La on récupère dans le cellule B20, le premier caractère après le 8ème (en clair le 9eme caractère).
 
Cherche dans les post comment on fait pour écrire dans un fichier et le tour est joué  ;)


 
 
en fait c est pas exactement ca que je veux faire.
 
 
imaginons les cellule A1, A2, A3
 
je voudrais avoir dans une variable : A1 sur 30 characteres, A2 sur 10 et A3 sur 8.
 
 
pour l instant j ai un truc comme ca:  
 

Code :
  1. Valueline_Intern = Cells(myline, 1) & String(40 - Len(Cells(myline, 1)), " " )
  2. Valueline_Intern = Valueline_Intern & Cells(myline, 2) & String(12 - Len(Cells(myline, 2)), " " )
  3. Valueline_Intern = Valueline_Intern & String(10 - Len(Cells(myline, 3)), "0" ) & Cells(myline, 3)
  4. Valueline_Intern = Valueline_Intern & String(8 - Len(Cells(myline, 4)), "0" ) & Cells(myline, 4)


 
et je trouve pas ca speciallement propre


---------------
#mais-chut
Reply

Marsh Posté le 04-04-2005 à 17:25:08    

En VB (VB6, VBA et VBS) tu peux te servir des deux fonctions suivantes :

Code :
  1. coupe = Left ( String, Valeur )


Imaginons : coupe = Left ( "Mioumiou" , 4 ). coupe contienra : "Miou".

Code :
  1. coupe = Right ( String, Valeur )


Imaginons : coupe = Right ( "Mioumiou" , 4 ). coupe contienra : "miou".

Reply

Sujets relatifs:

Leave a Replay

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