VBA : Obliger un chiffre à 3 caractères dans une textbox [Résolu]

Messages postés
2
Date d'inscription
jeudi 5 janvier 2012
Dernière intervention
5 janvier 2012
- - Dernière réponse : Haricomagic
Messages postés
2
Date d'inscription
jeudi 5 janvier 2012
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Renfield
Messages postés
2
Date d'inscription
jeudi 5 janvier 2012
Dernière intervention
5 janvier 2012
0
Merci
C'est parfait, tout à fait ce que je recherchais !

Merci beaucoup
Commenter la réponse de Haricomagic

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.