Valeur entière et TextBox [Résolu]

Signaler
Messages postés
17
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007
-
jrivet
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
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

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
16
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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46
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
Messages postés
17
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007

Merci ! je vais voir ce que je peux faire avec.
Mais si qq'un à d'autre idée je reste preneur
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
21
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 ...
Messages postés
17
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007

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
Messages postés
17
Date d'inscription
lundi 5 mars 2007
Statut
Membre
Dernière intervention
18 mars 2007

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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
46
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