cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 21 nov. 2005 à 21:37
if (keyascii < 48 or keyascii > 57) and keyascii <> 45 then
keyascii =0
beep
endif
45 étant la valeur ascii du caractère "-".
On peut aller comme ça plus loin encore. Si c'est pour faire une calculatrice, je te conseille de voir les nombreuses sources traitant de ce sujet sur le site. Tu progresserais encore plus vite.
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
olixelle
Messages postés506Date d'inscriptionvendredi 30 juillet 2004StatutMembreDernière intervention 3 mars 20082 21 nov. 2005 à 13:34
dim ma_chaine as string
ma_chaine = inputbox("Veuillez saisir qqchose")
if isnumeric(ma_chaine) then
msgbox("C un numérique")
else
msgbox("C pas un numérique")
end if
SpoS
Messages postés22Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention26 novembre 2005 21 nov. 2005 à 19:39
Merci de votre aide mais je n' arrive pas a adapter cela pour mon logiciel.
Il s' agit en fait d' une petite calculatrice évolué (pour cacluler
calculer les racine des trinome de 2nd degrés), et lorsque l'
utilisateur rentre un lettre à la place d' un chiffre ( ce qui ne
devrai pas ariver vu qu' il s'agit d' une calculatrice) VB m' affiche
un message d' erreur.
Les trois textbox ou l' on peut écrire un nombre sont
A = val(Text1.text)
B = val(Text2.text)
C = val(Text3.text)
- Serai t' il possible par exemple d' interdire l' écriture des lettre ou autre chose que les chiffre ?
- Ou afficher lorsque l' utilisateur n' indique
pas de nombre un message box "Veuillez saisir un chiffre"
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 21 nov. 2005 à 19:40
Salut, moi j'aime bien les soluces proposées par Daniel. Au cas où tu ne connaîtrais pas les valeurs ascii des caractères, tu peux coder aussi, partant de ta question de depart qui supposait que A ne contient qu'UN seul caractère :
Select Case A
Case "A" To "Z", "a" To "z"
MsgBox "c'est une lettre"
Case "0" To "9"
MsgBox "c'est un chiffre"
Case Else
MsgBox "autre"
End Select
'Ou, si tu veux détailler
Select Case A
Case "A" To "Z"
MsgBox "c'est une lettre majuscule"
Case "a" To "z"
MsgBox "c'est une lettre minuscule"
Case "0" To "9"
MsgBox "c'est un chiffre"
Case Else
MsgBox "autre"
End Select
Si A contient plus d'UN caractère, il faut procéder autrement.
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
SpoS
Messages postés22Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention26 novembre 2005 21 nov. 2005 à 21:19
Merci de votre aide à tous,
Canis Lupus ton truc marche parfaitement,
if keyascii < 48 or keyascii > 57 then
keyascii =0
beep
endif
Juste une petit truc, Je voudrai pouvoir aussi écrire le signe - pour
les calculs, comment c' est possible de le rajouter a partir de la même
idée.
Sinon j' aurai une autre solution, c' est de grisé le bouton Calculer
tant que les valeur comprise dans A, B et C ne sont pas des nombres (
signe - comprit )
Je comprend que mes questions vous paraisse un peu "?!?" mais je debute
dans le monde de Vb ( et je n' ai luq encore que la moitié de mon livre
)
SpoS
Messages postés22Date d'inscriptionmercredi 5 mai 2004StatutMembreDernière intervention26 novembre 2005 21 nov. 2005 à 22:01
Merci à vous 3.
J' ai finalement opté pour la réponse de Daniel car elle apporte un
petit plus en ne permettant que de mettre de signe - en avant.
La réponse de CanisLupus marche aussi, d' ailleur en reprenant l' idée
du Beep, j' ai ajouter cette ligne qui permet quand l' utilisateur
entre autre chose qu' une lettre d' emmetre un son Beep.
if (keyascii < 48 or keyascii > 57) and keyascii <> 45 then