Probème chiffre dans USF

J

jmh

Guest
Salut le forum

Brièvement mon problème, j'ai un textbox dans un userform qui ne doit accepté des nombres entiers et multiple de 3.

j'ai écrit une procédure en déclarant la valeur de retour du textbox en integer et pourtant même si je rentre un nombre décimal, il est accepté.

De plus comment faire pour vérifier si le nombre saisi est bien un multiple de 3 ?

Si quelqu'un a une idée, je suis preneur.

Merci
 
M

myDearFriend

Guest
Bonsoir Jmh,

Tu trouveras ci-joint un exemple pouvant répondre à ton problème.

La saisie est limitée au touche numérique dans le TextBox grâce à la fonction suivante déclenchée sur l'évènement TextBox1_KeyPress :

Public Function AutoriseFrappe(ByVal K As Integer) As Integer
'Autorise uniquement les touches numériques
Select Case K
Case Is < 48, Is > 57 'différent de 0 à 9
K = 0
End Select
AutoriseFrappe = K
End Function


Le contôle de nombre multiple de 3 se fait lors dans l'évènement btnValider_Click :

Private Sub btnValider_Click()
Dim N As Integer
'Test / 3
N = Val(TextBox1.Text)
If N Mod 3 <> 0 Then
MsgBox "Le nombre saisie n'est pas divisible par 3 !", , "Erreur !"
TextBox1.SetFocus
Exit Sub
End If
'MAJ feuille
Range("A1") = TextBox1.Value
Unload Me
End Sub


Tu pourrais également inclure ce contrôle directement dans l'évènement TextBox1_Exit.

Cordialement,
Didier_mDF
 

Pièces jointes

  • PourJmh.zip
    12 KB · Affichages: 11

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz