Précédent   Forum du club des développeurs et IT Pro > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 06/12/2012, 11h30   #1
marcuselli
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : décembre 2012
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Administrateur systèmes et réseaux

Informations forums :
Inscription : décembre 2012
Messages : 4
Points : 1
Points : 1
Par défaut Addition de plusieurs valeurs

Bonjour

Je débute en VBS et j'ai un cas qui pour certains risque de paraître assez simple.
Je m'explique :
J'ai un fichier dans lequel j'ai plusieurs valeur du type :
3.000
5.000
8.652
.....

Je souhaiterais simplement faire la somme de toutes ces valeurs.
J'arrive déjà à toute les récupérées dans un tableau mais lorsque je les additionne, j'obtiens par exemple : 3.0005.0008.652....
Voici mon code (surement pas bon et pas optimisé !!) dans lequel je fais juste le test avec deux valeurs :

Code :
1
2
3
4
5
6
7
8
9
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFichier_in = objFSO.openTextFile(nom_fichier_in).ReadAll
arrlignes = split(objFichier_in,vbcrlf)
compteur = UBound(arrlignes)
 
Capacity = arrlignes(0)+arrlignes(1)
 
msgbox Capacity
Merci d'avance pour vos idées et vos réponses.

Cordialement
marcuselli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 11h56   #2
pc75
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 3 143
Détails du profil
Informations personnelles :
Âge : 57
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 3 143
Points : 3 319
Points : 3 319
Bonjour,

Code :
1
2
 
Capacity = cDbl(arrlignes(0)) + cDbl(arrlignes(1))
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
Pas de questions techniques en MP.
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 12h49   #3
marcuselli
Invité de passage
 
Homme
Administrateur systèmes et réseaux
Inscription : décembre 2012
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Administrateur systèmes et réseaux

Informations forums :
Inscription : décembre 2012
Messages : 4
Points : 1
Points : 1
Bonjour

Merci pour la réponse !
Mais j'ai toujours une erreur :
Error: Type mismatch: 'cdbl'
Code: 800A000D

auriez vous une idée ?

Merci d'avance
marcuselli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 14h29   #4
omen999
Rédacteur
 
Avatar de omen999
 
Inscription : février 2006
Messages : 911
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 911
Points : 2 211
Points : 2 211
bonjour,
cela signifie qu'un des éléments du tableau arrlignes() ne peut pas être évalué sous la forme d'un nombre
il faut les tester avant avec la fonction IsNumeric
par exemple dans une boucle for...next qui vérifiera le tableau
Code :
If Not IsNumeric(arrlignes(n)) Then  Exit For
__________________
nomen omen, nemo non omen
le plus terrible lorsqu'une voiture renverse un piéton, c'est que ce sont les freins qui hurlent. (ramón)
pas de questions techniques par mp
omen999 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h18.


 
 
 
 
Partenaires

Hébergement Web