Traiter une réponse en nombre à partir d'une inputbox

Résolu/Fermé
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 - Modifié par antoine9298 le 24/04/2013 à 23:34
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 25 avril 2013 à 18:52
Bonjour,


Do 
Depart = inputbox ("à quelle heure pars tu ? ")  
If depart =Minute(now) then 
MsgBox " il est "&depart &"! " 
WScript.quit  
Else  
Wscript.sleep 55000  
End if  
Loop 



[EDIT] et du coup il ne reconnaît jamais que les 2 sont similaires...

Je suis sous Windows 7

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 avril 2013 à 08:52
Bonjour,

Effectivement, une InputBox renvoie une valeur de type String.
Si cette valeur est un nombre, tu peux la transformer en Integer avec CInt(TonString).
Perso je passrerais par une variable intermédiaire de type Integer, comme ceci :
Do
    IntDepart = 0
    depart = InputBox("à quelle heure pars tu ? ")
    If IsNumeric(depart) Then IntDepart = CInt(depart)
    If IntDepart <> 0 And IntDepart = Minute(Now) Then
        MsgBox " il est " & depart & "! "
        Wscript.Quit
    Else
        Wscript.sleep 5
    End If
Loop

0
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 6
Modifié par antoine9298 le 25/04/2013 à 12:46
le trancformateur c'est ci-maj-nt?
ou C-maj-Lng
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 avril 2013 à 12:57
Ca dépend du langage de programmation.
Comme rien n'est précisé, je t'ai mis CInt() qui est du VBA...
Essaye Val() également...
0
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 6
25 avril 2013 à 13:06
j'utilise le vbs
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 avril 2013 à 13:23
Alors... Reprenons.
CInt, [C majuscule, i majuscule, n minus et t minus] comme son nom nous l'indique presque, transforme un String (ou un variant ou ...) en Integer (Int). Encore faut-il que le String qu'on lui balance soit numérique.
CLng, [C Majus, L Majus, n minus et g minus] comme son nom nous l'indique presque, transforme un String (ou un variant ou ...) en Long (Lng).
Voir la différence entre Long et Integer plus bas.
Encore faut-il que les données à transformer soient numériques...
CInt("Bonjour") renvoie une erreur, de même que CLng("Comment va?")
Par contre, CInt("45") nous renvoie 45 sous forme d'Integer, CLng("78") nous renvoie 78 sous forme de Long.
Après, faut juste savoir quel genre de données tu va traiter. Ici un nombre de minutes. A priori, ton nombre ne va pas dépasser les 2 chiffres. Un Integer est donc largement suffisant.
Donc :
CInt(MaVariableEnString)


Integer: de -32768 à 32767

Long: de -9223372036854775808 à 9223372036854775807


OK?
0
antoine9298 Messages postés 101 Date d'inscription vendredi 5 avril 2013 Statut Membre Dernière intervention 23 décembre 2014 6
Modifié par antoine9298 le 25/04/2013 à 18:21
ok
(ca fonctionne)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
25 avril 2013 à 18:52
Et bien euh.....................
de rien!
0