Problème de déclaration

Fermé
Dalila - 22 déc. 2021 à 11:52
 DALILA - 2 mars 2022 à 12:02
Bonjour à tous,
j'ai un problème et j'arrive pas à resoudre puisque je suis débutant dans vbs scripts.

mon besoin c'est comment déclarer une ligne contient 6 chaine type string et chaque chaine contient 30 caractères c'est à dire longueur len(string) =30.
De façon itérative apres chaque 30caractères le système passe au deuxième variable.

j'ai besoin de votre aide. En attendant votre retour et merci infinement.

11 réponses

yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
22 déc. 2021 à 13:56
bonjour,
moi j'essaierais ceci:
dim ligne as string
dim chaines(6) as string
0
Merci pour votre réponse,
je lis à partir d'un fichier texte , et ma ligne est séparée par des virgules.
Ca marche ??
0
This is my code like :


Set oFso=CreateObject("Scripting.FileSystemObject")
Set listFile = oFso.OpenTextFile("c:\banque\CCPCMA.txt", ForReading)
Set fecriture = oFso.OpenTextFile ("C:\banque\AFB120.txt",ForWriting, true,ModeAscii)
i = 0
j = 0
Do While Not listFile.AtEndOfStream
MOT(i) = listFile.ReadLine
wscript.echo MOT(i)
MOTT = Split(MOT(i),";")

For j=0 To ubound(MOTT)
wscript.echo MOTT(j)
Next

i = i + 1


Loop
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
22 déc. 2021 à 15:23
as-tu testé ton code?
0
oui j'ai testé, mais c'était pas mon résultat attendu vraiment !

en fait, le but ce comment tester les chaines du tableau d'une façon itérative avec un boucle !

j'arrive pas à faire.
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
22 déc. 2021 à 16:34
quel résultat obtiens-tu quel résultat attends-tu?
0
je veux essayer de bien expliquer alors :
Par exemple : "08/06/2021;1 899,950;TND;VRST 0521377 EL KOSSOUR;;08/06/2021"

cette ligne je cherche comment la déclarer avec vb script d'une façon itérative avec les boucles sachant que chaque chaine doit etre de longueur 30 maximum et par conséquant cette ligne est composée par 6 chaines.
Je veux tester par exemple à chaque ligne de fichier si les 6 chaines sont vides ou non pour appliquer à chaque string une opération etc..
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
22 déc. 2021 à 17:04
pour cette ligne, que fait ton programme, quel résultat affiche-t-il?
0
Dalila > yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024
22 déc. 2021 à 17:06
m'affiche 6 chaine oui
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481 > Dalila
22 déc. 2021 à 18:37
les six bonnes chaînes?
tes boucles fonctionnent donc bien, non?
0
Dalila > yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024
23 déc. 2021 à 09:54
Bonjour, J'ai 4 lignes similaires de la ligne envoyée précédemment,
à chaque fois je vais extraire les dates dans les extrémités.
comment le faire avec un boucle et merci beaucoup
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
23 déc. 2021 à 10:10
peut-être:
wscript.echo MOTT(0)
wscript.echo MOTT(5)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut j'espère que vous allez bien,
c'est quoi l'instruction de la conversion d'une chaine en un double .
j"étais coincée.
je veux transformer cette chaine par exmple ("189.250") en un double 189.250
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
4 févr. 2022 à 15:24
peut-être:
dim dd as double
dd = cdbl("189.250")
0
j'ai essayé mais il m'a donné comme erreur ! type incompatibe
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
4 févr. 2022 à 15:50
et ainsi?
dim dd as double
dd = cdbl("189,250")  
0
oui c bon, mais pourquoi il m'a pas affiché mes 3 chiffres après le virgules:
m'a affiché 189,25

et merci infinement
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
4 févr. 2022 à 17:03
tu peux utiliser format pour préciser comment un nombre doit s'afficher.
0
oui j'ai résolu et merci beaucoup
0
Bonjour,
comment déclarer une chaine vide STR de taille fixe de 38 caractères.
et puis cette chaine STR va étre remplie par une chaine donnée à partir de mon fichier lue(par exemple la chaine contient 25 caractères) ,
Donc je veux garder STR de longueur 38 et contient la chaine du fichier,
(c'est à dire je veux garder STR de len 38 et le reste des espaces 13 caractères).

l'objectif c'est écrire dans un fichier deux chaines concatinées (STR & DATE)
et je veux voir que la chaine Date débutera à partir de la position 39 .
Est ce que c'est faisable avec VBsEdit .


merci d'avance
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
7 févr. 2022 à 11:28
Je pense que le plus simple, c'est, au moment d'écrire dans le fichier, d'ajouter 13 espaces entre STR et DATE.
0
C'est ne pas utile dans mon cas,
mais y a pas une structure de positionner une chaine de telle pos et l'ecrire vers un fichieur output
0
yg_be Messages postés 22773 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 9 mai 2024 1 481
7 févr. 2022 à 11:44
Je pense que le plus simple est d'ajouter des espaces à la fin.
0
Bonjour ,
j'ai cherché comment récuperer le chemin du fichier de l'utilisateur (il exécute de l'invite de commande) dans mon script vb (VBsEdit).

merci d'avance .
0