Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
579
Réponses
17
Affichages
766
Réponses
5
Affichages
264
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…