Salut Jacques.
Je n'ai pas réussi à créer ce format par un format de cellule personnalisé. Il aurait suffit alors de recopier ce format (sous la forme d'une chaîne de caractère) ainsi:
Private Sub TextBox1_Change()
TextBox1=Format(TextBox1,"Le format qui va bien")
End Sub
Si les pro du format passent par là...
En attendant, voici une solution brute de fonderie qui modifie le contenu de TextBox1 à l'aide des fonctions de chaînes de caractère et qui donne le résultat attendu:
Private Sub TextBox1_Change()
If Len(TextBox1) = 0 Then Exit Sub
'Mettre les lettres en majuscules
If Len(TextBox1) = 1 And Not (IsNumeric(TextBox1)) Then
TextBox1 = UCase(TextBox1)
Else
If Not IsNumeric(Right(TextBox1, 1)) Then _
TextBox1 = Left(TextBox1, Len(TextBox1) - 1) & UCase(Right(TextBox1, 1))
End If
' Ajout éventuel d'un espace avant les chiffres
If Len(TextBox1) <= 1 Or InStr(TextBox1, " ") > 0 Then Exit Sub
If Not IsNumeric(Mid(TextBox1, Len(TextBox1) - 1, 1)) And IsNumeric(Right(TextBox1, 1)) Then
TextBox1 = Left(TextBox1, Len(TextBox1) - 1) & " " & Right(TextBox1, 1)
End If
End Sub
Voilà, c'est un peu lourd, mais cela devrait t'aller, du moins j'espère.
@+ Laurent.