Format specifique ds TextBox

  • Initiateur de la discussion Initiateur de la discussion Wyrgle
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Wyrgle

XLDnaute Junior
Bonjour a tous,

Je cherche a forcer un format inhabituel dans un userform contenant un Textbox.
Je veux rentrer des references ayant pour format ABCD-EF-GH-IF.KL.MN.OPQRST ou toutes ces lettre representent des chiffres.
Ainsi ou peut avoir 2010-05-12-56.02.78.512467

De plus, est-il possible d'afficher les '-' et les '.' ds le Textbox avant la saisie pour montrer a l'utilisateur comment sera saisie sa reference ? ( - - - . . .)

J'arrive a les afficher mais la saisie les deplace ds le Textbox.

Merci pour votre aide.
Wyrgle
 
Re : Format specifique ds TextBox

Bonsoir,
Essaie ceci à copier à la suite avec le code de l'userform
Bruno

Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 8 Then Exit Sub
If Len(TextBox1) = 24 Then TextBox1 = Left(TextBox1, 23)
If Len(TextBox1) = 4 Then TextBox1 = TextBox1 & "-"
If Len(TextBox1) = 7 Then TextBox1 = TextBox1 & "-"
If Len(TextBox1) = 10 Then TextBox1 = TextBox1 & "-"
If Len(TextBox1) = 13 Then TextBox1 = TextBox1 & "."
If Len(TextBox1) = 16 Then TextBox1 = TextBox1 & "."
End Sub
 
Re : Format specifique ds TextBox

Bonjour Wyrgle,

J'ai testé mais sans trop de réussite.
Ce que tu veux est l'équivalent d'un masque de saisie Access dans Userform Excel.
Je poste cependant parce qu'il me semble que le thème est intéressant
Ca va faire appel aux évènements KeyPress du textbox et éventuellement Change, mais ce n'est pas trés facile à coder

J'essayerais de pousser l'idée quand j'aurais un peu plus de temps

Edit : Bonjour youky
 
Re : Format specifique ds TextBox

Bonjour Wyrgle, salut youky, tototiti,

Essayez peut-être :

Code:
Private Sub TextBox1_Change()
Dim txt$
txt = Replace(Replace(Replace(TextBox1, "-", ""), ".", ""), ",", "")
If Not IsNumeric(txt) Then TextBox1 = "": Exit Sub 'si l'on ne veut que des chiffres
If Len(txt) > 14 Then txt = Application.Replace(txt, 15, 0, ".")
If Len(txt) > 12 Then txt = Application.Replace(txt, 13, 0, ".")
If Len(txt) > 10 Then txt = Application.Replace(txt, 11, 0, ".")
If Len(txt) > 8 Then txt = Application.Replace(txt, 9, 0, "-")
If Len(txt) > 6 Then txt = Application.Replace(txt, 7, 0, "-")
If Len(txt) > 4 Then txt = Application.Replace(txt, 5, 0, "-")
TextBox1 = txt
End Sub

Edit 1 : j'oubliais d'expliquer, il suffit de n'entrer que les chiffres, les tirets et les points se placent tout seuls.

Edit 2 : j'avais mis des Application.EnableEvents, ce n'est pas nécessaire.

A+
 
Dernière édition:
Re : Format specifique ds TextBox

Re,

J'oubliais aussi, si l'on veut limiter l'entrée à 20 chiffres :

Code:
Private Sub TextBox1_Change()
Dim txt$
txt = [COLOR="Red"]Left[/COLOR](Replace(Replace(Replace(TextBox1, "-", ""), ".", ""), ",", ""), 20)
If Not IsNumeric(txt) Then TextBox1 = "": Exit Sub 'si l'on ne veut que des chiffres
If Len(txt) > 14 Then txt = Application.Replace(txt, 15, 0, ".")
If Len(txt) > 12 Then txt = Application.Replace(txt, 13, 0, ".")
If Len(txt) > 10 Then txt = Application.Replace(txt, 11, 0, ".")
If Len(txt) > 8 Then txt = Application.Replace(txt, 9, 0, "-")
If Len(txt) > 6 Then txt = Application.Replace(txt, 7, 0, "-")
If Len(txt) > 4 Then txt = Application.Replace(txt, 5, 0, "-")
TextBox1 = txt
End Sub

Edit : oui tototiti, c'est commode pour intercaler. Bien noter que Application.Replace c'est la fonction REMPLACER dans une feuille de calcul.

A+
 
Dernière édition:
Re : Format specifique ds TextBox

Bonjour tototiti2008, job75, et youky,

Grand merci pour votre aide, je me copie vos reponses et les teste chez moi (ici au taff les forums sont mal percus...).
Je continue ce thread pour vous faire connaitre la suite.
Wyrgle.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour