Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…