VBA : Obliger un chiffre à 3 caractères dans une textbox

Résolu
Haricomagic Messages postés 2 Date d'inscription jeudi 5 janvier 2012 Statut Membre Dernière intervention 5 janvier 2012 - 5 janv. 2012 à 13:35
Haricomagic Messages postés 2 Date d'inscription jeudi 5 janvier 2012 Statut Membre Dernière intervention 5 janvier 2012 - 5 janv. 2012 à 14:36
Bonjour à tous,


J'ai une useform avec une textbox et j'aimerais obliger l'utilisateur à rentrer un chiffre à 3 caractères.

exemple :
Je ne veux pas que l'utilisateur puisse écrire 12, mais 012.

J'ai beaucoup cherché et n'ai pas trouvé solution à mon problème.

Pour l'instant, j'ai simplement limité la textbox aux valeurs numériques, à 3 caractères maxi.



Private Sub TextBox4_Change()

TextBox4.MaxLength = 3

On Error Resume Next

If Not IsNumeric(Right(TextBox4, 1)) Then
TextBox4.Text = Left(TextBox4, Len(TextBox4) - 1)
End If

End Sub


D'avance merci

2 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
5 janv. 2012 à 14:13
n'a rien a faire dans le Change, sinon, pas saisie inconfortable voire impossible.

Déjà, mettre le MaxLength de ta box à 3, cela me semble une évidence.

faire par exemple :

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    '# Suppression des eventuels espaces
    TextBox1.Text = Trim$(TextBox1.Text)
    
    '# On autorise l'utilisateur à vider le Textbox
    If LenB(TextBox1.Text) = 0 Then Exit Sub
        
    '# L'utilisateur n'a pas respecté les règles du jeu...
    If Not IsNumeric(TextBox1.Text) Then
        '# On a la possibilité de mettre un MsgBox.
        Cancel = True
    Else
        '" Le format que l'on souhaite obtenir
        TextBox1.Text = Format$(TextBox1.Text, "000")
    End If
End Sub



Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
3
Haricomagic Messages postés 2 Date d'inscription jeudi 5 janvier 2012 Statut Membre Dernière intervention 5 janvier 2012
5 janv. 2012 à 14:36
C'est parfait, tout à fait ce que je recherchais !

Merci beaucoup
0