Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Textbox et retour ligne

WILFRIED

XLDnaute Impliqué
Bonjour à tous,

Voila mon problème :

dans un USF j'ai une textbox que j'ai définit :
- Multiline=true
- worldwrap=false

Je souhaite forcer un retour à la ligne lorsque que l'utilisateur appuye sur entrer, mais voilà cela me perd le focus et passe au contrôle suivant. :unsure:

J'ai essaye avec la fonction keypress avec :
if keyascii=10 then textbox1.text=textbox1.text & chr(10)

mais il ne passe même pas par le sub textbox1.keypress !!!

Si quelqu'un à des suggestion je suis preneur.

Info divers : dévellopper sur excel 97 et prévus pour tourner sur excel03 et excel XP.

Cette textbox est prévus pour une zone de remarque.

MErci d'avance.
 
P

patrice78

Guest
Bonjour WILFRIED et au Forum,

Un ex, il y a peu ètre une autre solution.
Le 'Textbox2' est a remplacer par ton focus suivant :

Private Sub TextBox2_Enter()
If Len(TextBox1) <> 0 Then
If Right(TextBox1, 1) <> Chr(10) Then
TextBox1 = TextBox1 & Chr(10)
TextBox1.SetFocus
Else
TextBox1 = Left(TextBox1, Len(TextBox1) - 1)
End If
End If

A+
 
W

wally

Guest
Bonjour WILFRIED et le forum,

Essaye éventuellement avec l'événement KeyDown :

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 13 Then TextBox1.Text = TextBox1.Text & Chr(10)

End Sub


wally
 

WILFRIED

XLDnaute Impliqué
Re

Je viens de faire le test sur un simple USF avec textbox, la méthode de Patrice78 n'as pas fonctionner, celle de Wally à presque fonctionner : le chr(10) s'insert bien, mais je quitte la zone de texte. même en faisant un mix des deux méthode :

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 13 Then
TextBox1.Text = TextBox1.Text & Chr(10)
textbox1.setfocus
end if

End Sub

Est il possible de positionner le curseur en début de la ligne ajouter ?

A+
 
W

wally

Guest
Bonsoir WILFRIED et le forum,

Dans ce cas, essaye la chose suivante :

1. Supprimer la sub TextBox1_KeyDown()

2. Mettre la propriété 'EnterKeyBehavior' du textbox à True


wally
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…