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
195

Statistiques des forums

Discussions
312 176
Messages
2 085 962
Membres
103 066
dernier inscrit
bobfils