Bizarr.....

Résolu
Messages postés
18
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
16 octobre 2006
-
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007
-
Si j'écris le code suivant (en vbs):

z=InputBox("Combien de fois?")
For 1 to z
y = InputBox("Entrez le " & z & " chiffre")
x = x + y
Next
MsgBox x

Il ne calcule pas x+y , il les concaténes!!
Ca veut dire que si y=10 la 1ére fois et 20 la deuxième, x n'est pas égale à 30 mais à 1020!!!!!
Donc , dans le cadre d'un programme pour calculer la moyenne au collège,ca pause problème...
HELP ME

3 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

rien de bizarre, avant ton code, il faut déclarer tes variables :

Dim z As Long, y As Long

Là, ça marchera.

Si tu ne les déclares pas, tes variables seront en Variant (bouffe de la mémoire) et concatène les valeurs

@++
Messages postés
18
Date d'inscription
mercredi 24 mai 2006
Statut
Membre
Dernière intervention
16 octobre 2006

C 'est vrai j'avait oublié!!MERCI!!!!




CYM13
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Salut, en VBS, on ne peut pas déclarer des variables dans le style :
dim mavariable as  ...
c'est donc forcément du variant.

Dans ce cas, coder :
x = 0
z=InputBox("Combien de fois?")
For 1 to z
y = InputBox("Entrez le " & z & " chiffre")
x = x + cint(y))
Next
MsgBox x

Reste quand même à contrôler avant si ce qui est saisi est vraiment du numérique.