PB de place du curseur dans un textbox

Vincentsoft - 4 juin 2001 à 14:31
 SamGuelis - 14 déc. 2012 à 17:35
Salut
Voila, je voudrai savoir comment on place dans un textbox le curseur au bout de la ligne.
Je m'explique, j'ai fait un programme et dans celui-ci, il y a un textbox où il ne faut pas qu'il se trouve de majuscules.
J'ai donc fait une fonction qui regarde si l'on place une majuscule et si c'est le cas, il remplace cette lettre en minuscule.
Mais le problème, lorsque la fonction que j'ai créée est terminée, le curseur se place au début du textbox. Et donc, lorsque l'on écris dedans, la lettre placé en majuscule est remplacée par une minuscule mais le curseur reviens au début.
Donc, j'aimerai savoir comment placer le curseur où l'on veut dans un textbox, plus particulièrement à la fin.

Merci d'avance

Vincentsoft

5 réponses

C'est pas compliquer, t'as juste à sauvegarder la position du curseur avant de faire les modifications:

Private Sub cmdAppelFonction_Click()

Dim CurseurPosition As Long

CurseurPosition = Text1.SelStart ' Sauvegarde la position du curseur

' Appel ta fonction ici.....

Text1.SelStart = CurseurPosition ' Restore la position du curseur

End Sub

' Le mettre à la fin de la ligne(exemple):
Private Sub cmdAppelFonction_Click()

Dim CurseurPosition As Long

CurseurPosition = Text1.SelStart ' Sauvegarde la position du curseur

' Appel ta fonction ici.....

Dim ReturnPosition As Long

' Vérifie si on peut trouver un retour à la ligne
ReturnPosition = InStr(CurseurPosition, Text1.Text, vbCrLf)

' Si on en à trouver un alors
If ReturnPosition > 0 Then

' Positionne le curseur à la fin de la ligne
Text1.SelStart = ReturnPosition

Else

' Sinon on le positionne la ou il était avant l'appel de la fonction
Text1.SelStart = CurseurPosition

End If

' S'il n'à pas trouver de retour à la ligne c'est surment parce que nous sommes à la fin du texte(dernière ligne) dans ce cas tu pourrais faire genre:

' Text1.SelStart = Len(Text1.Text)
' Et il va ce positionner à la fin du texte :)

End Sub

' Si tu veux que ton TextBox n'accept que les minuscules tu peux faire quelque chose du genre:

' Avec l'evènement KeyPress,
Private Sub Text1_KeyPress(KeyAscii As Integer)

KeyAscii = Asc(LCase$(Chr$(KeyAscii)))

' Ca va mettre les lettres en minuscule automatiquement, sauf qu'il ne faudras pas oblier le Copier/Coller qui ne fonctionne pas avec cette evènement :\ mais bon ce n'était qu'un exemple :)

End Sub

[mailto:NitRic28@Hotmail.com NitRic]
0
visualbasiceur Messages postés 10 Date d'inscription samedi 17 décembre 2005 Statut Membre Dernière intervention 3 novembre 2006
14 juin 2006 à 18:46
Merci pour ton code NitRic
0
Bonjour

Dans une portion de code VBA je teste si un textbox est vide. si c'est le cas je veux que l'utilisateur remplisse le textbox avant de continuer. J'ai donc fait une boucle en utilisant un setfocus en croyant que cela positionnerai le curseur dans le textbox. mais le code est exécuté et le code continue dans laisser la main à l'utlisateur pour saisir dans le textbox.
je voudrais savoir quel code (methode/propriété de textbox utiliser) pour permettre à l'utilisateur de saisir dans le textbox?
Merci.

SamGuelis
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
13 déc. 2012 à 18:21
Bonjour,SamGuelis,
Que viens-tu faire ici avec une question :
- qui n'a rien à voir avec du VB.Net
- qui n'a non plus rien à voir avec la présente discussion
Ouvre donc ta propre discussion, dans la bonne section (Langages dérivés > VBA) en montrant le bout de code que tu as écrit.




________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonsoir ucfoutu
Merci pour les commentaires et remarques. Je me suis effectivement planté dans la rubrique. Je n'ai pas trop l'habitude des forums, mais j'apprends vite.

SamGuelis
0
Rejoignez-nous