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

XL 2016 restriction dans une texbox dans un userform

nicroq

XLDnaute Occasionnel
Bonjour a tous,

voila je bloque sur un code qui est sans doute tout bête, je souhaiterais dans une textbox d'un userform interdire les valeurs non numeriques et interdire les valeurs <12.

cela est il possible avec l'option keypress? ou avez d'autres solutions?

En vous remerciant d'avance

cordialement
 

jmfmarques

XLDnaute Accro
Bonjour
Ceci (bâclé et à main levée) fera peut-être l'affaire :
VB:
private sub textbox1_change()
  static ANC as string, non as boolean
  If non then non =false: exit sub
  If val(textbox1.value) > 12 or (textbox1.value <> "" and textbox1.value <> "-" and not isnumeric(textbox1.value)) Then
    non = true: textbox1.value = ANC: exit sub
  end If
  ANC = textbox1.value
end sub
 

job75

XLDnaute Barbatruc
Bonjour nicroq, jmfmarques,

Placez dans le code de l'UserForm :
VB:
Private Sub TextBox1_AfterUpdate()
TextBox1 = Val(Replace(TextBox1, ",", "."))
If CDbl(TextBox1) < 12 Then TextBox1 = "": TextBox1.SetFocus
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
TextBox1_AfterUpdate
Cancel = TextBox1 = ""
End Sub
A+
 

nicroq

XLDnaute Occasionnel
super merci pour vos reponses
serait il possible au lieu de fermer le userform si la valeur est inférieure à 12, de mettre une msgbox si la valeur est inférieure à 12 et de demander à corriger cette valeur?
merci
 

nicroq

XLDnaute Occasionnel
En effet la msgbox n est pas forcement utilise mais c est qd même pratique pour les gens qui se serviront de mon fichier!!
en tout cas un grand merci pour votre aide
bon apres midi
 

Discussions similaires

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