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

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
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir alias_2003,

Peut-être en rajoutant quand on quitte le textbox (pas testé):
VB:
Private Sub TBNombre_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
   If Val(TBNombre) = 0 Then
      Cancel = True
      MsgBox "La quantité minimum est 1 !", vbCritical
   End If
End Sub
 

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 2017
 
Dernière édition:

alias_2003

XLDnaute Occasionnel
Bonjour Pierre, Laetitia, le Forum,
Tout d'abord, je vous présente mes meilleurs vœux pour cette nouvelle année !

Merci à vous 2 pour vos réponses ! Laetitia, ton code est juste parfait !
Merci beaucoup,
Bonne journée !
 

Discussions similaires

Réponses
15
Affichages
502
Réponses
16
Affichages
492
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…