Masque de saisie

apt

XLDnaute Impliqué
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

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.

:D
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
492

Statistiques des forums

Discussions
312 484
Messages
2 088 796
Membres
103 970
dernier inscrit
pepito59