XL 2013 Saisir rien que les chiffres entre 1 et 8

Yusufu ibn Anurahi

XLDnaute Junior
Bonjour !
Je reviens avec cette autre demande d'expertise: J'ai conçu un formulaire de saisie des données. Je voudrais permettre la saisie dans la TextBox1 rien que les chiffres compris entre 1 et 8.
Par ailleurs, je voudrais qu'une fois les chiffres transféré sur ma feuille Excel ne prennent pas le format "texte" mais restent "nombre".
Comment m'en sortir ? Ci-joint, mon fichier. Merci pour votre aide !
Yusufu
 

Fichiers joints

Paf

XLDnaute Barbatruc
Bonjour,

pour limiter la saisie aux chiffres 1 à 8 en textbox1, une solution possible:

VB:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("12345678", Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
    Beep    'facultatif
End If
End Sub

Pour limiter la saisie à un seul chiffre :
modifier la propriété MaxLength de Textbox1 soit directement dans les propriétés, soit par code :
VB:
TextBox1.MaxLength  = 1

les Textbox contiennent du texte, pour obtenir un numérique il faut convertir ce texte à l'aide d'une fonction de conversion, comme CINT() qui convertit en Integer ( ce qui devrait convenir pour un chiffre de 1 à 8)

A+
 

Yusufu ibn Anurahi

XLDnaute Junior

Bonjour,

pour limiter la saisie aux chiffres 1 à 8 en textbox1, une solution possible:

VB:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("12345678", Chr(KeyAscii)) = 0 Then
    KeyAscii = 0
    Beep    'facultatif
End If
End Sub

Pour limiter la saisie à un seul chiffre :
modifier la propriété MaxLength de Textbox1 soit directement dans les propriétés, soit par code :
VB:
TextBox1.MaxLength  = 1

les Textbox contiennent du texte, pour obtenir un numérique il faut convertir ce texte à l'aide d'une fonction de conversion, comme CINT() qui convertit en Integer ( ce qui devrait convenir pour un chiffre de 1 à 8)

A+
Merci pour la solution de conversion, mais pratiquement je ne sais m'y prendre.
 

Discussions similaires


Haut Bas