Script débutant remonté d'info dans un fichier csv
Bonjour à tous,
Je suis débutant et je ne connais pas grand chose en programmation.
J'aurais aimer savoir si il vous serais possible de me donner un p'tit coup de main en matière de script (et plus précisément en VBS). En effet, j'aimerais faire un script (le VBS n'est pas une obligation mais ce script tournera sur du windows XP) qui permet de rechercher des chaines de caractères dans un fichier et de les copiers dans un autre fichier à la forme .csv (avec les ";" comme séparateur).
Exemple :
J'ai un fichier "toto.txt" où dedans j'ai beaucoup de ligne.
par exemple :
Code:
1 2 3
| client toto
ca 16 euros
espoire bon espoire |
J'aimerais chercher des informations et les copier en commençant par les chercher depuis la fin du fichier txt. J'aimerais m'appuyer sur un fichier .ini. En effet, dans le fichier .ini je voudrais qu'il soit de cette forme :
LANG= "bonjour","welcome","welcomen"
V1 = "client","customer","blabla"
V2 = "espoir","hope","blublu"
V3 = "ca","ca","ca"
donc dans le fichier .ini je rentre les variable avec les mots que je veux chercher et copier dans un fichier en .csv et je veux lui dire "si le fichier commence par bonjour, alors tu cherches le mot "client" puis "espoir" et "ca" et tu copies "toto;16;bon espoir" tout ça dans un fichier csv . Donc dans mon fichier .vbs j'aurais le script qui permet de faire tout ça. L'avantage du fichier ini c'est que je peux rajouter des variables ou des mots à rechercher sans modifier le script vbs.
Le soucis c'est que je suis absolument pas développeur (j'ai des notions) et je galère vraiment alors j'aurais aimer savoir si vous pourriez m'aider ?
J'ai déjà réussi à faire des p'tites choses comme affichier le contenu d'un fichier ini :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
Dim ObjTextStream : Set ObjTextStream = Fso.OpenTextFile("P:\Scripts\band raz\test.ini", 1, False)
Dim strtmp
Do While Not ObjTextStream.AtEndOfStream
strtmp = Split(ObjTextStream.ReadAll, vbCrLf)
For i = 0 To UBound(strtmp)
MsgBox strtmp(i)
Next
Loop
ObjTextStream.Close
Set ObjTextStream = Nothing
Set Fso = Nothing |
Ou alors lire un fichier puis afficher ligne par ligne le contenu :
Code:
1 2 3 4 5 6 7 8 9
| Const ForReading = 1, ForWriting = 2
Dim oFso, f
Set oFso = CreateObject("Scripting.FileSystemObject")
Set f = oFso.OpenTextFile("P:\Scripts\band raz\lal.txt", ForReading)
while Not f.AtEndOfStream
wscript.echo f.ReadLine
Wend
f.Close |
Mais je ne vois pas du tout comment faire pour mon idée final.
Merci d'avance pour votre aide :oops: