Titre Textbox

Fermé
Anthony3000 Messages postés 1 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 24 avril 2014 - 24 avril 2014 à 17:08
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 24 avril 2014 à 19:28
Bonjour, je souhaiterais contraindre le formatage d'un textbox afin qu'il soit écrire de la manière suivante : "YYYY-MM Titre de l'ouvrage".


Le problème est que lorsque l'on écrit un chiffre, il renvoi le message d'erreur alors que si l'on écrit seulement des lettres il continu comme tel...

Je ne sais pas comment faire pour qu'on ne puisse pas simplement bloqué si ce n'est pas ce format précis.

Voici le programme :

Dim bu As String

If m.Value = Format(m.Value, "yyyy-mm" & "bu") then
...
Else Else
MsgBox ("Vous devez entrer un nom d'affaire suivant les codes : AAAA-MM Nom de l'affaire.")

End If
End Sub

Merci par avance, Anthony.

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
24 avril 2014 à 19:28
Bonjour,

Un exemple de ce qu'il est possible de faire en utilisant 2 événements du contrôle TextBox :

Private Sub TextBox2_Change()
'Evénement qui se déclenche à chaque changement dans le TextBox
Dim titre As String
titre = "Mon Titre"
'Si l'utilisateur a saisi 4 caractères alors on y ajoute "-"
If Len(TextBox2) = 4 Then TextBox2.Value = TextBox2.Value & "-"
'si l'utilisateur a saisi 4 caractères, puis 2 autres (après la saisie automatique du "-"
'alors on y ajoute un espace et le titre
If Len(TextBox2) = 7 Then TextBox2.Value = TextBox2.Value & " " & titre
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'se déclenche lors de l'appui sur les touches du clavier lorsque le textbox a le focus
'(curseur dans le textbox)
'Empêche la saisie d'un caractère non numérique
If KeyCode < 48 Or KeyCode > 57 Then KeyCode = 0
End Sub


Une autre possibilité consiste à vérifier, en fin de saisie, si le formatage est correct. L'inconvénient est que l'utilisateur devrait systématiquement tout ressaisir...
0