Bonjour à toute la communauté.

Avant d'exposer mon problème je tenais à remercier tout les développeurs qui post sur ce forum car cela m'a été d'une grande aide dans la réalisation de mes scripts vbs jusqu'à aujourd'hui.

J'ai entrepris un script qui permet de récupérer un bloc de ligne d'un fichier texte pour le mettre dans un nouveau fichier: SplitFile.txt
Mon script fonctionnait merveilleusement bien jusqu'a ce que je l'agrémente de la fonctionnalité WScript.Arguments afin de placé le fichier à découpé via un drag & drop.

Le script s'exécute bien et sans erreurs. Cependant mon fichier SplitFile.txt n'est pas créer.
Je tiens à préciser que pour test, j'ai afficher le contenu de la variable qui est censé être copié dans mon fichier de sortie et son contenu est bien ce que j'attends.
Je suis donc sec de chez sec et vous demande votre aide.

Merci.
Cordialement
Starbuck

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
Set WshShell = WScript.CreateObject("WScript.Shell")
Dim fso, f, a, b, s,tb
'val = "enable=false"
'val1 = "toto"
'File = "TRACE_IP.TXT"
'replace = "replace.vbs "
'On récupère les arguments
Set sArg = WScript.Arguments
 
'Il n'y a qu'un argument, c'est le fichier en entrée.
'S'il y en a d'autres, on affiche un message d'erreur et on sort du script.
If sArg.Count <> 1 Then
	MsgBox "Veuillez passer en paramètre le fichier à découper."
	WScript.Quit
End If
 
'On récupère le premier (et unique) argument.
File = sArg(0)
 
'On Ouvre le fichier en lecture
set fso=CreateObject("Scripting.FileSystemObject")
set oFich=fso.OpenTextFile(File,1,True)
tx=oFich.ReadAll
' On ferme le fichier après en avoir lu le contenu
oFich.Close
 
'On découpe chaque ligne en les insérant dans un tableau    
tb=Split(tx,VbNewline)
 
'On récupere les lignes qu'on souhaite récupérer
a = InputBox("Première ligne à copier","Question?")
a = a -1     'on retire 1 à a puisque le premier index du tableau (tb) est 0(zéro)
b = InputBox("Dernière ligne à copier","Question?")
b = b -1     'on retire 1 à b puisque le premier index du tableau (tb) est 0(zéro)
For i = a To b
s = s + tb(i)+ Vbnewline
Next
msgbox s
'Ecriture dans le fichier SplitFile.txt
set fso=CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("splitFile.txt",2, True)
f.write(s)
 
' Nettoyage
Set oFich = Nothing
Set fso = Nothing
Set f = Nothing
Set s = Nothing
msgbox "terminé", vbokonly,"SplitFile"