Format de saisie dans un textbox

gildas lechat

XLDnaute Occasionnel
Bonjour le forum,

Je cherche a formater la saisie d'un textbox (dans un userform)sous la forme suivante:

textbox de 8 caractères :
1er caractère en numérique ( de 0 à 9)
2eme caractères en lettre (de A à Z)
les 6 suivants en numérique (de 0 à 9)

Pouvez vous m'aider.
Merci
Gildas
 

Guiv

XLDnaute Occasionnel
Re : Format de saisie dans un textbox

Bonjour Gildas, le forum,

Essaie:
Code:
Private Sub TextBox1_AfterUpdate()
    Dim Liste As String
    Liste = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

    If Len(TextBox1) <> 8 Or _
       Not IsNumeric(Left(TextBox1, 1)) Or _
       Not IsNumeric(Mid(TextBox1, 3, 6)) Or _
       IsError(Application.Find(Mid(TextBox1, 2, 1), Liste)) Then

        MsgBox "Erreur de saisie"
        TextBox1 = ""

    End If
End Sub

Cordialement,
Guiv
 

bqtr

XLDnaute Accro
Re : Format de saisie dans un textbox

Bonjour gildas, Guiv

Un autre exemple.
Code:
Private Sub TextBox1_Change()

TextBox1.MaxLength = 8
Select Case Len(TextBox1)
  Case 1
    If Not IsNumeric(Mid(TextBox1, 1, 1)) Then TextBox1 = ""
  Case 2
    If Not Mid(TextBox1, 2, 1) Like "[A-Z]" Then TextBox1 = Left(TextBox1, 1)
  Case 3, 4, 5, 6, 7, 8
    If Not IsNumeric(Mid(TextBox1, Len(TextBox1), 1)) Then TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
  End Select
  
End Sub


Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Not TextBox1 Like "#[A-Z]######" Then MsgBox "Saisie invalide.", vbInformation, "Erreur:": Cancel = True
End Sub

La 1ère t'oblige à saisir le code correctement lors de la première saisie.
La 2ème t'empêche de sortir du Textbox si le format n'est pas respecté.

A+
 

Discussions similaires

Réponses
15
Affichages
427
Réponses
5
Affichages
196

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T