Probleme UCASE sur un textbox_change()

[Résolu]
Signaler
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010
-
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010
-
Bonjour,

J'utilise le petit code suivant dans une procédure textbox_change() (afin de mettre en majuscule la 1er lettre qui y est insérée).

Private Sub TextPrenomCli_Change()
If Len(TextPrenomCli.Text) = 1 Then
TextPrenomCli.Text = UCase(TextPrenomCli.Text)
End If
End Sub

Mon souci est que lorsque le condition est vérifiée (Len=1), la lettre se met bien en majuscule mais le curseur se place avant la majuscule (ce qui évidement pose un problème quand on remplie ce champs).

Quelqu'un connaitrait-il une combine pour que mon curseur continue à suivre sa course normale?

Merci

3 réponses

Messages postés
95
Date d'inscription
vendredi 7 février 2003
Statut
Membre
Dernière intervention
28 novembre 2017

Ce code devrait répondre à tes attentes.


Private Sub Text1_Change()

' Passe la 1ere lettre en Majuscule et le reste n'est pas changé
Text1.Text = UCase(Left(Text1.Text, 1)) & Mid(Text1.Text, 2)

' Place le curseur en fin de texte si le nombre de caractère _
du texte est 1
If Len(Text1.Text) 1 Then Text1.SelStart Len(Text1.Text)

End Sub


Bonne continuation

AlKatou
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Avant de modifier, tu mémorise la valeur de TextPrenomCli.SelStart que tu restaure ensuite.

Mon site
Messages postés
36
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
10 novembre 2010

Merci à vous deux, cela marche enfin!!!! :-) (un weekend qui démarre bien)

@ bientôt pour d'autre soucis (je pense que cette appli m'en posera beaucoup lol)