Bonsoir à tous,
J’aimerais appliquer des masques de saisie sur des Textbox.
- "___ __ __ __" pour un numéro de téléphone 0xx xx xx xx.
- "T___-_" pour une entrée du genre Txxx-y
- "L3-_____" pour L3-xxxxx
Pour le moment je travaille sur celui du numéro de téléphone pour avoir le principe et ensuite l’appliquer sur les autres masques.
Je devrais saisir 012320082 pour qu’il apparaisse dans la TextBox sous la forme 012 32 00 82.
(Les chiffres remplacent les _).
Après le code fournis par Jean-Pierre ici :
[XL-2007] Masque de saisie - Forum des professionnels en informatique
Je viens de créer un nouveau UserForm avec un TextBox au lieu d'intégrer le code dans mon projet comme je l'avais fait et ça ne marchait plus (Je ne sais pour quelle raison).
Maintenant Le masque s’affiche et les chiffres s'écrivent normalement.
Mais reste que j'aimerais reproduire les touches "Back Space" et "Suppr" sur le texte du Textbox parce que l'effacement pour le "Back Space" s'arrête lorsqu'elle rencontre le premier espace entre les tirets et "Suppr" lorsqu'elle est utilisée, efface tout le texte dans le TextBox.
Merci d’avance.
😀
J’aimerais appliquer des masques de saisie sur des Textbox.
- "___ __ __ __" pour un numéro de téléphone 0xx xx xx xx.
- "T___-_" pour une entrée du genre Txxx-y
- "L3-_____" pour L3-xxxxx
Pour le moment je travaille sur celui du numéro de téléphone pour avoir le principe et ensuite l’appliquer sur les autres masques.
Je devrais saisir 012320082 pour qu’il apparaisse dans la TextBox sous la forme 012 32 00 82.
(Les chiffres remplacent les _).
Après le code fournis par Jean-Pierre ici :
[XL-2007] Masque de saisie - Forum des professionnels en informatique
Code:
Option Explicit
Dim LeTexte As String
Dim chargement As Boolean
Private Sub TextBox1_Change()
Dim Val As String
Dim Ind As Byte
Ind = TextBox1.SelStart
Val = Left(TextBox1.Value, TextBox1.SelStart)
If Len(Val) > 12 Then
TextBox1.Value = Left(Val, 12)
Exit Sub
End If
If Len(Val) = 3 Or Len(Val) = 6 Or Len(Val) = 9 Then
Val = Val & " "
Ind = Len(Val)
End If
Val = Val & Right(LeTexte, Len(LeTexte) - Ind)
TextBox1.Value = Val
TextBox1.SelStart = Ind
End Sub
Private Sub UserForm_Initialize()
LeTexte = "___ __ __ __"
TextBox1.Value = LeTexte
TextBox1.SelStart = 0
End Sub
Je viens de créer un nouveau UserForm avec un TextBox au lieu d'intégrer le code dans mon projet comme je l'avais fait et ça ne marchait plus (Je ne sais pour quelle raison).
Maintenant Le masque s’affiche et les chiffres s'écrivent normalement.
Mais reste que j'aimerais reproduire les touches "Back Space" et "Suppr" sur le texte du Textbox parce que l'effacement pour le "Back Space" s'arrête lorsqu'elle rencontre le premier espace entre les tirets et "Suppr" lorsqu'elle est utilisée, efface tout le texte dans le TextBox.
Merci d’avance.
😀
Dernière édition: