Forcer le type entier dans une textbox : est-ce possible ?

stef2708

XLDnaute Nouveau
Bonjour à tous, bonjour le forum :

jusqu'à maintenant j'ai trouvé tout mon bonheur sur ce site pour résoudre mes problèmes... mais là j'ai un petit soucis et je n'ai pas trouvé la solution.

En fait mon probleme est le suivant :
es-t-il possible dans un userform, lorsque l'on rentre une valeur dans un textbox, d'interdire de saisir autre chose que des chiffres ?
C'est à dire, peut on, pendant le temps de la saisie, "désactiver" les touches du clavier autre que les chiffres ...

j'espère avoir été clair .....:eek: et je fais confiance à votre professionnalisme.....
merci par avance

Stéphane
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer le type entier dans une textbox : est-ce possible ?

Bonjour Stef

regarde le code ci dessous :

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

tu peux enlever le point ou la virgule le cas échéant.

bon après midi
@+
 

CBernardT

XLDnaute Barbatruc
Re : Forcer le type entier dans une textbox : est-ce possible ?

Bonjour stef2708,

Si la textbox s'appelle "Tbcompte" :

Petite macro à placer dans le module de l'userform intéressée.

Private Sub Tbcompte_Change()
If Not IsNumeric(Tbcompte) Then
Tbcompte = ""
End If
End Sub

Cordialement

Bernard
 

stef2708

XLDnaute Nouveau
Re : Forcer le type entier dans une textbox : est-ce possible ?

Merci beacoup à tous pour vos réponses rapide ! :-D

La première solution convient parfaitement à ce que je voulais Merci ! (heuresement que ce forum existe... je ne sais pas comment j'aurai pu trouver ce genre de solution .... lol)
La deuxième solution ne convenait pas ici mais elle va m'être utile à un autre endroit où elle aura parfaitement sa place !!!

Merci encore !

Stéphane:)
 

RONIBO

XLDnaute Impliqué
Re : Forcer le type entier dans une textbox : est-ce possible ?

Bonjour Stef

regarde le code ci dessous :

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.,", Chr(KeyAscii)) = 0 Then KeyAscii = 0
End Sub

tu peux enlever le point ou la virgule le cas échéant.

bon après midi
@+


Bonjour le forum,

@Pierrot93 : Ce bout de code m'intéresse beaucoup :)
Je voulais savoir si je pouvais bloquer le textbox à deux décimale ?

A+
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer le type entier dans une textbox : est-ce possible ?

Bonjour,

regarde peut être ceci, seul le point est ici considéré comme séparateur décimale :
Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("0123456789.", Chr(KeyAscii)) = 0 Then KeyAscii = 0
        If InStr(TextBox1, ".") > 0 And (Len(TextBox1) - InStr(TextBox1, ".") > 1) Then KeyAscii = 0
End Sub

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 764
Messages
2 091 859
Membres
105 079
dernier inscrit
Biscot_399