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

Mettre en surbrillance un TextBox

  • Initiateur de la discussion Initiateur de la discussion BenHarber
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BenHarber

XLDnaute Occasionnel
Bonjour le Forum,
Dans un userform, je souhaite mettre en surbrillance le contenu d'un textBox dès que l'on clique dedans avec la souris.

J'ai essayé :

Private Sub monTextBox_Enter()
Me.monTextBox.SelStart = 0
Me.monTextBox.SelLength = Len(Me.monTextBox.Text)
Me.monTextBox.SetFocus
End Sub

Mais rien ne se passe....avez-vous une idée du code à rédiger ?

Merci d'avance pour vos suggestions !

Cordialement,

BenHarber
 
Re : Mettre en surbrillance un TextBox

Bonjour,

Sûrement obtiens-tu le focus en te déplaçant de contrôle en contrôle avec la souris. Avec TAB tes lignes deviendraient inutiles. Si tu tiens à les conserver, un pis aller en gérant l'évènement MouseDown

Un flag (bEnterOnClick) est mis à True pour que seul le premier click dans le textbox soit pris en compte.


Code:
Dim bEnterOnClick As Boolean 'Variable de niveau module (userForm)

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    bEnterOnClick = False
End Sub
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With TextBox1
         If Button = 1 And Not bEnterOnClick And Len(.Text) > 0 Then
            .SelStart = 0
            .SelLength = Len(.Text)
            bEnterOnClick = True
        End If
    End With
End Sub
 
Re : Mettre en surbrillance un TextBox

Bonjourle forum
Bonjour BenHarber, bonjour Hasco

Théoriquement, lorsque le pointeur de la souris à l'intérieur du TextBox affiche un pointeur (flèche pointée vers la droite), il suffit de faire un click gauche pour sélectionner la valeur.
Bonne après-midi
 
Re : Mettre en surbrillance un TextBox

Haro, Eric,
Merci pour l'intérêt porté à ma demande.
Je suis d'accord avec vous sur le fait que je surligne tout mon textBox en 'Tabulant' ou en trouvant 'flèche pointée à droite'.

Mais le hic est que ce n'est pas moi qui vais utiliser cet userform....et vous savez bien comment sont les utilisateurs : ils trouvent toujours un moyen de faire une manip. à laquelle on avait pas pensé !!

Pour ta solution, Haro, ça ne semble pas fonctionner sur mon usf....Mais il se peut que je fasse une fausse manip ! Je vais reprendre ça à tête reposé et vous tiendrai au courant.

Peut-être n'y a-t-il pas de solution sur cette demande un peu...atypique ? (pour ne pas dire tordue, j'en conviens !)
 
Re : Mettre en surbrillance un TextBox

Re le forum
Re les intervenants

Essaies ceci : Quelque soit la position où tu cliques dans ton TexTbox, ton texte sera surligné :
Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(TextBox1.Text)
End With
End Sub

@+
 
Re : Mettre en surbrillance un TextBox

OK, Eric ça marche !
C'est vrai que c'est le même code que proposait Haro, mais sans la gestion d'une variable booléenne.

Merci à vous 2 pour votre contribution !

Cordialement,

BenHarber
 
Re : Mettre en surbrillance un TextBox

Re le forum
Toutes mes excuses Hasco. Vraiment désolé mais je n'avais pas regardé ton code et BenHarber n'arrivait, apparemment pas, à le "retraduire" dans son prog, j'ai donc poursuivi en fonction de mes maigres connaissances.
Bonne soirée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…