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

XL 2010 Format de saisi texbox

TheProdigy

XLDnaute Impliqué
Bonjour out le monde,

Je voudrais avoir une saisi dans un texbox de type 12552-A-12 en code VBA

Merci
 
Dernière édition:

Theze

XLDnaute Occasionnel
Bonjour,

Une piste assez simple. TextBox dans un UserForm et code à coller dans le module de ce dernier :
Code:
Dim Longueur As Integer

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    Longueur = Len(TextBox1.Text)
  
End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    Select Case Longueur

        Case 0 To 5, 9, 10

            Select Case KeyAscii
                Case 48 To 57: Case Else: KeyAscii = 0
            End Select

        Case 6, 8: KeyAscii = 95 'rajoute le tiret bas quelle que soit la touche appuyée

        Case 7
            Select Case KeyAscii
                Case 65 To 90: Case Else: KeyAscii = 0
            End Select

        Case Is > 10: KeyAscii = 0
      
    End Select

End Sub
Pour les 5 premiers emplacements, seuls les chiffres sont autorisés, pour le 6 ème et 8 ème, le tiret bas est entré automatiquement à l'appui sur n'importe quelle touche de caractère et pour le 7 ème, seules les lettres en majuscules sont autorisées
Code probablement perfectible, je n'ai pas testé plus que ça !
 

laetitia90

XLDnaute Barbatruc
bonjour tous
pas oblige de passer par une variable dans ce cas la
"brut" on pourrait egalement forcer minuscule en majuscule a voir !!
VB:
Private Sub TextBox1_KeyPress(ByVal K As MSForms.ReturnInteger)
Select Case Len(TextBox1)
        Case 0 To 4, 8, 9
           Select Case K
                Case 48 To 57: Case Else: K = 0
           End Select
        Case 5, 7: K = 95
        Case 6
            Select Case K
                Case 65 To 90: Case Else: K = 0
            End Select
        Case Is > 9: K = 0
    End Select
End Sub
 

Discussions similaires

Réponses
6
Affichages
213
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…