Bonjour, j'ai écrit un code en VSB afin d'ouvrir un fichier bancaire et modifier un chiffre, ce code fonctionne correctement, mais je veux l'améliorer : Le chiffre de la carte sera recherché à partir de la fin du fichier et remplacé qu'une seule fois par le solde. Pourriez-vous m'aider en modifiant les dernières lignes.
Actuellement tout est remplacé ! (Si j'ai par hasard 2 fois le même chiffre c'est cuit
De plus une fois celui-ci modifié, je voudrais lancer le fichier.
Merci.

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
51
52
53
'Ofx.vbs
 
Set objDialog = CreateObject("UserAccounts.CommonDialog")
 
'Filtre des fichiers
objDialog.Filter = "Money|*.ofx|Tous les fichiers|*.*"
objDialog.Flags = &H0200
objDialog.FilterIndex = 1
objDialog.InitialDir = "D:\downloads"
intResult = objDialog.ShowOpen
 
If intResult = 0 Then
    Wscript.Quit
Else
 
End If
 
'La variable est : repertoire
repertoire =  objDialog.FileName
frappe= "F"
while  frappe = "F"
   solde = inputbox("Donnez le solde du compte", "Solde du compte")
   If Instr(1,solde,"+",1)= 1 then frappe="T"
   If Instr(1,solde,"-",1)= 1 then frappe="T"
wend
 
frappe= "F"
while  frappe = "F"
   carte = inputbox("Donnez le solde de la carte", "Solde de la carte")
   If Instr(1,carte,"+",1)= 1 then frappe="T"
   If Instr(1,carte,"-",1)= 1 then frappe="T"
wend
 
msgbox "Soldes des comptes : [" & solde & "] +  [" & carte & "]"
 
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Dim st
Set fso = CreateObject("Scripting.FileSystemObject")
 
'******************************************************
'************ Changement à partir d'ICI **********************
'******************************************************
 
'Ouverture et lecture du fichier à modifier
'Set f = fso.OpenTextFile(repertoire, ForReading)
'st = f.readAll
'f.Close
 
'Ecriture du fichier modifié... aprés avoir remplacer "Carte" par "Solde".
'Set f = fso.OpenTextFile(repertoire, ForWriting)
'f.Write replace(st,carte,solde,1,-1,0)
'f.close