bonjour comment puis-je toujours afficher les lettre en majiscule dans une zone de text
bonjour comment puis-je toujours afficher les lettre en majiscule dans une zone de text
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private sub Text1_Change() Text1.Text = Ucase(Text1.Text) End Sub
Delbeke, ta solution ne peut pas fonctionner pendant la saisie : A chaque frappe le curseur revient au début.
Par contre c'est super pour écrire en verslen![]()
La méthode suivante ne déplace pas le curseur :Envoyé par Delbeke
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub
Oui, mais elle ne fonctionne pas si on copie dans le textbox
Sanfour_Walhan, à toi de choisir la méthode en fonction de ton utilisation.![]()
Je préfère choisir la méthode avec l'évenement KeyPress et empêcher les copie-coller
Voici une solution qui nous mettra tous d'accord![]()
Cela autorise les copiés-collés et la frappe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Text1_Change() Dim SelStart As Long With Text1 SelStart = .SelStart .Text = UCase(.Text) .SelStart = SelStart End With End Sub
ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Text1_Change() With Text1 .Text = UCase(.Text) .SelStart = Len(.Text) End With End Sub
la solution de Najdar conserve la position du curseur si tu reviens en arrière pour inserer un caractèreet, à part supprimer les espaces et les lignes vides, on ne peut pas faire plus court
![]()
Partager