Problème avec UCase

Bonjour à tous,

Dans mon UserForm, j'ai interdit la saisie dans le champ ID et bascule le focus sur le champ Nom.

Je veux forcer la saisie en MAJUSCULE dans ce champ.

J'ai un souci avec la commande Ucase: Les lettres passent bien en MAJUSCULe, mais après la frappe du caractère suivant, et ne change pas aprés la validation par "Entrer" ou le bouton "Valider" du formulaire...

Avez vous une idée ?

Merci de votre aide...

Mon fichier joint:

Bonjour,

Que penser de l'idée de convertir en majuscule seulement en sortant de la cellule?

Private Sub txt_Nom_AfterUpdate()
   txt_Nom = UCase(txt_Nom)
End Sub

ric

Bonjour

tu change ton keyPress

Private Sub TextBox1_keyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    KeyAscii = Asc(UCase(Chr(KeyAscii)))
End Sub

A+

Maurice

Merci ric,

Ta solution résout bien mon problème de majuscule, mais m'en laisse un autre...

Au moment du SetFocus de txt_ID à txt_Nom, la lettre tapée s'affiche dans la txt_Nom et y reste si je ne fait pas un retour arrière...

Je voudrais que cette lettre n'apparaisse pas du tout dans ma txt_Nom...

Merci pour ton aide...

Merci archer,

Cette solution fonctionne également, mais me laisse le même problème, à savoir:

Au moment du SetFocus de txt_ID à txt_Nom, la lettre tapée s'affiche dans la txt_Nom et y reste si je ne fait pas un retour arrière...

Je voudrais que cette lettre n'apparaisse pas du tout dans ma txt_Nom...

si vous avez une idée, elle serait la bienvenue...

Bonjour à tous,

Une suggestion : Dans les propriétés de txt_ID, mettre Enabled à False. En cliquant dedans, le focus passe à txt_Nom.

Mais, en passant par du code, on peut quand même écrire dans txt_ID.

ric

Merci ric,

Pourquoi faire simple quand on peut faire compliqué...

C'est exactement la solution qu'il me fallait !

Merci à tous deux pour votre aide.

Rechercher des sujets similaires à "probleme ucase"