XL 2010 [Résolu] Textbox numérique

alias_2003

XLDnaute Occasionnel
Bonjour à tous,
Dans un userform, j'ai une textbox nommée TBNombre pour laquelle je force la saisie numérique.
J'utilise à cette fin, le code suivant :
Code:
Private Sub TBNombre_Change()

    If InStr("0123456789", Right(Me.TBNombre, 1)) = 0 Then
        Me.TBNombre = Left(Me.TBNombre, Len(Me.TBNombre) - 1)
    End If
End Sub

J'aimerais savoir s'il est possible d'empêcher une saisie à 0, la TBNombre doit toujours contenir au moins 1 pièce.
Merci à vous,
Amicalement
 

alias_2003

XLDnaute Occasionnel
Bonjour youky(Bj), mapomme, le Forum,
Merci beaucoup à vous 2 ! Je ne comprends pas pourquoi je me suis compliqué la vie...
J'ai choisi la solution de mapomme qui fonctionne parfaitement, par contre j'aurais aimé que le curseur reste dans cette textbox et la commande setfocus ne le permet pas. Une idée ?
Merci encore,
Bonne soirée !
 

laetitia90

XLDnaute Barbatruc
bonjour Alias:) ,youky:),Tatiak:),Mapomme:):)
la meme chose en "affinant" un peu .......considere pas de decimales

VB:
Private Sub TBNombre_Exit(ByVal C As MSForms.ReturnBoolean)
C = IIf(TBNombre = "", 1, 0)
End Sub
Private Sub TBNombre_keyPress(ByVal K As MSForms.ReturnInteger)
If InStr("123456789", Chr(K)) = 0 Then K = 0
End Sub
en fin de compte va poser pb.. exemple on peut pas taper 10
VB:
Private Sub TBNombre_Exit(ByVal C As MSForms.ReturnBoolean)
C = IIf(TBNombre = "", 1, 0)
End Sub
Private Sub TBNombre_keyPress(ByVal K As MSForms.ReturnInteger)
If Len(TBNombre) < 1 Then
If InStr("123456789", Chr(K)) = 0 Then K = 0
Else
If InStr("1234567890", Chr(K)) = 0 Then K = 0
End If
End Sub


en vous souhaitant une bonne Année 2:)0:)1:)7:)
 
Dernière édition:

Discussions similaires

Réponses
15
Affichages
423
Réponses
16
Affichages
447

Statistiques des forums

Discussions
311 709
Messages
2 081 774
Membres
101 816
dernier inscrit
Jfrcs