Valeur entière et TextBox

Résolu
cs_kossuth Messages postés 17 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 18 mars 2007 - 6 mars 2007 à 17:14
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 7 mars 2007 à 15:40
Salut,

Voilà, je débute en VB et je voudrais avoir une info.

Je souhaite saisir dans un TextBox une Valeur uniquement entière (pas de lettre, pas de décimale..) et ensuite valider la valeur avec un bouton qui vérifiera à son tour si le résultat est compris entre 1 et 20.
J'ai déjà réalisé le bouton mais je n'arrive pas à faire en sorte de ne rentrer qu'une valeur numérique entière

Voici ce que j'ai déjà fait
Private Sub CmdNiveau_Click()


Niveau = TxtNiveau.Text


If Val(Niveau) > 20 Then
MsgBox ("réessayer !!! Entrez une valeur comprise entre 1 et 20")


ElseIf Val(Niveau) < 1 Then
MsgBox ("réessayer !!! Entrez une valeur comprise entre 1 et 20")


Else: TxtTest.Text = Niveau
End If

Pourriez m'aider ?? Merci d'avance

7 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
6 mars 2007 à 23:42
Et pourquoi ne pas tout simplement valider ... (?)

If Not IsNumeric(Text1) or val(Text1)<1 or Val(text1) > 20 then
Msgbox "J'ai dit des chiffres de 1 à 20 ...!"
text1=""
text1.setfocus
exit sub
end if

MPi
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
6 mars 2007 à 17:22
Salut,
Tiens essaies ceci, en l'adaptant cela devrait répondre à ton besoin
Private Sub Text1_KeyPress(KeyAscii As Integer)
'Traite l'appui sur Entrer comme
'Validation
If KeyAscii = vbKeyReturn Then
   'appelle la verification des valeur
   Call CheckValue(CInt(Text1.Text))
ElseIf KeyAscii <> vbKeyBack Then
   'Si ce n'est pas un chiffre annule la frappe
   If Not IsNumeric(Chr(KeyAscii)) Then KeyAscii = 0
End If
End Sub<hr />
Private Sub CheckValue(ByVal Valeur As Integer)
If Valeur > 20 Or Valeur < 1 Then Call MsgBox("Entrer une valeur entre 1 et 20")
End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_kossuth Messages postés 17 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 18 mars 2007
6 mars 2007 à 22:44
Merci ! je vais voir ce que je peux faire avec.
Mais si qq'un à d'autre idée je reste preneur
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
6 mars 2007 à 22:54
ce que t'a donné Jrivet ùe semble bon, non ?

Pour Julien : Bonsoir,

Quid si je ne frappe rien mais sélectionne du texte, le met dans le prese-papier et le colle ? ...badaboum....

alors :

Private Sub Text1_Click()
  Clipboard.Clear
End Sub

et me voilà à l'abri ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_kossuth Messages postés 17 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 18 mars 2007
7 mars 2007 à 15:07
Merci à vous!


J'avance doucement. mais je reste avec le problème d'insertion d'un nombre entier. Quand je tape des lettres et que je clique mon bouton je reçoie toujours un message d'erreur

Bonne journée à tous
0
cs_kossuth Messages postés 17 Date d'inscription lundi 5 mars 2007 Statut Membre Dernière intervention 18 mars 2007
7 mars 2007 à 15:22
Me voilà de retour

J'ai réussi à faire ce que je voulais. Jrivet, pas de rancune j'espère j'ai préféré la méthode de MPi, qui était plus simple pour moi.
Grand merci quand même à vous deux de m'avoir donner un coup de main

Kossuth
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
7 mars 2007 à 15:40
Salut,
Sans rancune aucune... en revanche appuie sur réponse acceptée sur le post qui t'a aidé (celui que tu as choisi)

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous