cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 2018
-
1 mars 2006 à 22:19
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
2 mars 2006 à 11:42
Bonsoir à tous....
En VBS, je n'arrive pas à controler la saisie d'une inputbox.
Je voudrais que l'utilisateur saisisse un mois (01 ou 1 à 12).
Il faut surement un Do While ou Do Loop
Mon 1er controle "while IsNumeric(Saisie) = False" marche.
Mais dans le second, comment vérifier que la saisie soit un chiffre de 1 à 12.
Je suppose que c'est hyper simple, mais là, c'est moi qui boucle !!!!
while Isnumeric(Saisie) = False
cpt = cpt + 1
Saisie = InputBox(vbCrLf&vbCrLf&"Edition de la feuille 'Rotation S-DLT Sauvegarde'" _
&vbCrLf&vbCrLf&vbCrLf&"Ca fait déjà " & cpt & " fois que vous vous tromper !!!!"&vbCrLf&_
"Saisissez des chiffres de 1 à 12"&vbCrLf&"Vous pouvez modifier le mois",_
"Rotation Valises Sauvegardes", wMM)
MsgBox "Saisie n est pas compris entre 1 et 12 " & Saisie
wend
while Saisie > 12
cpt = cpt + 1
Saisie = InputBox(vbCrLf&vbCrLf&"Edition de la feuille 'Rotation S-DLT Sauvegarde'" _
&vbCrLf&vbCrLf&vbCrLf&"Ca fait déjà " & cpt & " fois que vous vous tromper !!!!"&vbCrLf&_
"Saisissez des chiffres de 1 à 12"&vbCrLf&"Vous pouvez modifier le mois",_
"Rotation Valises Sauvegardes", wMM)
MsgBox "Saisie > 12 " & Saisie
wend
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 1 mars 2006 à 23:07
Bonsoir,
Willi,
Le test non numérique n'est pas effectué dans ce cas.
while cint(Saisie < 1) or cint(saisie > 12)
cpt = cpt + 1
Saisie = InputBox(vbCrLf&vbCrLf&"Edition de la feuille 'Rotation S-DLT Sauvegarde'" _
&vbCrLf&vbCrLf&vbCrLf&"Ca fait déjà " & cpt & " fois que vous vous tromper !!!!"&vbCrLf&_
"Vous avez saisi un chiffre différent de 1 à 12"&vbCrLf&vbCrLf&_
"Votre Saisie erronée: " & Saisie &vbCrLf&vbCrLf&_
"Saisissez un chiffre de 1 à 12"&vbCrLf&"Vous pouvez modifier le mois",_
"Rotation Valises Sauvegardes", wMM)
MsgBox "Saisie > 12 " & Saisie
wend
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 1 mars 2006 à 23:25
Re....
Si saisie1 = 18 (numérique=oui mais différent de 1 à 12)
ok pour numérique, je passe au test du numérique (1 à 12)
Si saisie2 = 3 c'est ok mais
Si saisie2 = "ABCDE", le test numérique n'est plus effectué.
cs_Willi
Messages postés2375Date d'inscriptionjeudi 12 juillet 2001StatutModérateurDernière intervention15 décembre 201822 1 mars 2006 à 23:46
Et de cette manière en testant tout d'un seul coup
dim saisie
dim cpt
saisie =""
cpt=0
Saisie = InputBox(vbCrLf&vbCrLf&"Edition de la feuille 'Rotation S-DLT Sauvegarde'" _
&vbCrLf&vbCrLf&vbCrLf&"Ca fait déjà " & cpt & " fois que vous vous tromper !!!!"&vbCrLf&_
"Saisissez des chiffres de 1 à 12"&vbCrLf&"Vous pouvez modifier le mois",_
"Rotation Valises Sauvegardes", wMM)
while ((IsNumeric(saisie)=false) or (cint(saisie)<1) or (cint(saisie)>12))
cpt = cpt + 1
Saisie = InputBox(vbCrLf&vbCrLf&"Edition de la feuille 'Rotation S-DLT Sauvegarde'" _
&vbCrLf&vbCrLf&vbCrLf&"Ca fait déjà " & cpt & " fois que vous vous tromper !!!!"&vbCrLf&_
"Saisissez des chiffres de 1 à 12"&vbCrLf&"Vous pouvez modifier le mois",_
"Rotation Valises Sauvegardes", wMM)
wend
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 2 mars 2006 à 06:11
Bonjour à tous....
saisie = "15" ....marche,
saisie = "" ou saisie= "A3A" provoque une erreur sur Type incompatible CInt
while IsNumeric(Saisie) = False Or CInt(saisie) < 1 Or CInt(Saisie) > 12
cpt = cpt + 1
Saisie = InputBox(vbCrLf&vbCrLf&"Edition de la feuille 'Rotation S-DLT Sauvegarde'" _
&vbCrLf&vbCrLf&vbCrLf&"Ca fait déjà " & cpt & " fois que vous vous tromper !!!!"&vbCrLf&_
"Saisissez des chiffres de 1 à 12"&vbCrLf&"Vous pouvez modifier le mois",_
"Rotation Valises Sauvegardes", wMM)
wend