Format automatique d'un texte

Bonjour

A partir d'une saisie dans une textbox, je voudrais faire une mise en forme automatique lors du transfert vers une cellule excel.

Quelqu'un pour eclairer ma lanterne ?

texte que je saisie : a12345678

texte que je veux voir apparaitre dans ma cellule excel : A-12-345678

J'ai essayé avec ce code

TxtNumLic = Application.WorksheetFunction.Proper(TxtNumLic)
.Range("r" & L + 1).Value = Format(TxtNumLic.Value, "L""-""00""-""000000")

mais cela me renvoie A12345678

Merci de votre aide.

bonsoir

Est-ce que cela vous convient

.Range("r" & L + 1).Value = Application.WorksheetFunction.Proper( _

Mid(TxtNumLic, 1, 1) & "-" & Mid(TxtNumLic, 3, 2) & "-" & Mid(TxtNumLic, 4, Len(TxtNumLic)))

super, je ne connaissais pas cette fonction.

Je l'ai juste un peu modifié, elle me renvoyait A-23-345678

La version corrigée :

.Range("r" & L + 1).Value = Application.WorksheetFunction.Proper( _
Mid(TxtNumLic, 1, 1) & "-" & Mid(TxtNumLic, 2, 2) & "-" & Mid(TxtNumLic, 4, Len(TxtNumLic)))

Maintenant, je veux forcer la saisie de 1 lettre en 1er suivi de 8 chiffres.

Tu peux m'aider ?

bonjour

Je pense que la réponse soit comme ca

Private Sub TxtNumLic_Change()

Dim i As Byte

TxtNumLic.MaxLength = 9 'Le nombre de caractères ne doit pas dépassé 9 caractères

If Not Mid(TxtNumLic, 1, 1) Like "[a-zA-Z]" Then TxtNumLic = ""

For i = 2 To Len(TxtNumLic)

If Not Mid(TxtNumLic, i, 1) Like "[0-9]" Then TxtNumLic = ""

Next

End Sub

j'ai essayé ce code, mais cela ne marche pas

Rechercher des sujets similaires à "format automatique texte"