Problème en vbs
nick_2428
Messages postés
39
Statut
Membre
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour à tous,
j'aimerais pouvoir effectuer une addition de plusieurs variable dans un fichier texte en vbscript. J,ai par exemple, un fichier texte contenant un nombre sur chaque ligne du genre:
(ligne 1) 15
(ligne 2) 20
(ligne 3) 30
(ligne 4) 15
À quoi devrait ressembler le bout de code pour être en mesure d'avoir 80 comme résultat final, considérant que mon fichier n'as pas un nombre fixe de ligne à chaque journée où le code sera utiliser pour recueillir l'information?
Merci d'avance du coup de main
j'aimerais pouvoir effectuer une addition de plusieurs variable dans un fichier texte en vbscript. J,ai par exemple, un fichier texte contenant un nombre sur chaque ligne du genre:
(ligne 1) 15
(ligne 2) 20
(ligne 3) 30
(ligne 4) 15
À quoi devrait ressembler le bout de code pour être en mesure d'avoir 80 comme résultat final, considérant que mon fichier n'as pas un nombre fixe de ligne à chaque journée où le code sera utiliser pour recueillir l'information?
Merci d'avance du coup de main
A voir également:
- Problème en vbs
- Vbs windows - Accueil - Optimisation
- Vbs - Télécharger - Édition & Programmation
- Vbs editor - Télécharger - Édition & Programmation
- Fichier vbs ✓ - Forum Virus
- Vbs malware gen ✓ - Forum Virus
5 réponses
Bonjour,
Un truc comme ça peut être:
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Un truc comme ça peut être:
Dim cpt As Integer
Dim fp As Integer
Dim str As String
fp = Freefile
Open "C:\monfichier.txt" For Input As #fp
While Not EOF(#fp)
Input #fp, str
cpt = cpt + CInt(str)
Wend
Close #fp
MsgBox cpt
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Salut, merci de la réponse. Est-ce que c'es bien du vbs? J'ai tester tel quel et ça ne fonctionne pas.
J'ai ensuite adapter le code pour qu'il soit fonctionnel, mais il n'affiche rien comme résultat.
strSourceFile = "C:\monfichier.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.openTextFile(strSourceFile, 1,true)
Dim cpt
Dim fp
Dim str
fp = objTextFile.readall
While Not objTextFile.AtEndOfStream
Input fp, str
cpt = cpt + CInt(str)
Wend
objTextFile.close
MsgBox cpt
Merci encore d'y jeter un oeil.
J'ai ensuite adapter le code pour qu'il soit fonctionnel, mais il n'affiche rien comme résultat.
strSourceFile = "C:\monfichier.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.openTextFile(strSourceFile, 1,true)
Dim cpt
Dim fp
Dim str
fp = objTextFile.readall
While Not objTextFile.AtEndOfStream
Input fp, str
cpt = cpt + CInt(str)
Wend
objTextFile.close
MsgBox cpt
Merci encore d'y jeter un oeil.
C'est du VB, ça donne des pistes, et ça ouvre la possibilité de faire des recherches...
Un conseil : Type toutes tes variables.
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
ReadAlllit tout le fichier, ce n'est pas ce que tu cherches à faire, puisque tu veux additionner chaque ligne de ton fichier.
Dim cpt As Integer
Dim str As String
Dim strSourceFile As String
Dim objFSO As Object
Dim objTextFile As Object
'Initialisation des variables et création des objets
strSourceFile = "C:\monfichier.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.openTextFile(strSourceFile, 1)
'Boucle sur les lignes du fichier
While Not objTextFile.AtEndOfStream
str = objTextFile.ReadLine
cpt = cpt + CInt(str)
Wend
'Fermeture des objets et libération de la mémoire
objTextFile.Close
Set objFSO = Nothing
Set objTextFile = Nothing
'Echo du résultat
wscript.echo cpt
Un conseil : Type toutes tes variables.
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Salut, quand tu parle de typer toutes les variables, C'est bien la portion en gras que tu parle? C'est quoi l'impact de les avoirs ou non? J'ai tenté d'exécuter ce que tu m,as mis plus haut et ça me donne un message d'erreur. Le code attend la fin des instructions, pourtant si j'enlève la partie en gras, ça marche parfaitement. Résultat donné: 80
Dim cpt As Integer
Dim str As String
Dim strSourceFile As String
Dim objFSO As Object
Dim objTextFile As Object
'Création des objets
strSourceFile = "C:\monfichier.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.openTextFile(strSourceFile, 1)
'Boucle sur les lignes du fichier
While Not objTextFile.AtEndOfStream
str = objTextFile.ReadLine
cpt = cpt + CInt(str)
Wend
'Fermeture des objets et libération de la mémoire
objTextFile.Close
Set objFSO = Nothing
Set objTextFile = Nothing
'Echo du résultat
wscript.echo cpt
Merci du coup de main. Très apprécié.
Dim cpt As Integer
Dim str As String
Dim strSourceFile As String
Dim objFSO As Object
Dim objTextFile As Object
'Création des objets
strSourceFile = "C:\monfichier.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.openTextFile(strSourceFile, 1)
'Boucle sur les lignes du fichier
While Not objTextFile.AtEndOfStream
str = objTextFile.ReadLine
cpt = cpt + CInt(str)
Wend
'Fermeture des objets et libération de la mémoire
objTextFile.Close
Set objFSO = Nothing
Set objTextFile = Nothing
'Echo du résultat
wscript.echo cpt
Merci du coup de main. Très apprécié.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question