Textbox - Validation entrée - Focus saisie

  • Initiateur de la discussion Initiateur de la discussion SAMWRC
  • 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 !

SAMWRC

XLDnaute Occasionnel
Bonjour a tous,

Je suis en train de créer un userform de sélection de données et je suis confronté a plusieurs problemes que je n'arrive pas a résoudre ...

Je vous joint en PJ le programme.
Pour faire simple lorsqu'on ouvre le userform, on peut utiliser le textbox pour rentrer des valeurs qui alimentent la listbox en appuyant sur entrée ou en cliquant sur OK.
Etant donné que l'on attend de l'utilisateur qu'il rentre plusieurs valeurs, je souhaite que le focus soit redonné a la textbox apres la validation de la valeur précédente.

J'ai réussi a prendre en compte l'appui sur la touche entrée grace a ce fil du forum :
https://www.excel-downloads.com/threads/validation-textbox-avec-touche-entree.139756/

J'ai également réussi a redonner le focus a la textbox avec le fil suivant :
Lien supprimé


Cependant, un certain nombre d'effets secondaires viennent poluer le fonctionnement de mon userform :
- je ne peux plus valider en utilisant le bouton OK,
- la valeur par défaut (définie a l'ouverture du userform) apparait a chaque fois que je valide en utilisant entrée alors que je voudrais que la textbox soit vide apres validation,
- je peux cliquer sur le bouton Exit, mais cela entraine une RAZ de ma textbox avant de pouvoir cliquer a nouveau sur exit et de sortir du userform.

J'ai beau cherché, je n'ai pas toujours pas réussi a fixer mes différents problemes ... Je fais donc appel a vous.

Merci d'avance

Sam
 

Pièces jointes

Re : Textbox - Validation entrée - Focus saisie

Salut Bruno,

Ca m'a l'air de répondre parfaitement a mes besoins.

Par contre je ne saisis pas trop pourquoi tu simules un appui sur la touche entrée (SendKeys "{ENTER}") dans la fonction add item.
J'ai bien constaté que si je supprime cette ligne, le focus ne marche plus. Mais pour ma culture perso, j'aimerais bien comprendre pourquoi TextBox1.SetFocus ne marche pas directement et pourquoi on doit rappeler cette commande par l'astuce du SendKeys "{ENTER}".

Merci pour ton aide

Sam
 
Re : Textbox - Validation entrée - Focus saisie

re,
Pas évident, je pense que l'on perds le focus lors du Additems.
Le SetFocus ne marche plus car pour excel on est déja dans le textbox1, donc j'ai essayé de l'en faire sortir par un enter et lui redonner le focus, cela à marché.
J'avais essayé aussi ton ECHAP mais il réinitialize le textbox.
A savoir que j'ai fais pas mal d'essais pour aboutir.
Bonne continuation
Bruno
 
Re : Textbox - Validation entrée - Focus saisie

Re,

Meme si la solution fonctionnait, le coté un peu artistique me tracassait beaucoup.
Du coup je suis allé fouiner dans les discussions du forum et je suis tombé sur la solution miracle :

Code:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
     If KeyCode = 13 Then
         ListBox1.AddItem TextBox1.Value
         TextBox1 = ""
         [COLOR="Red"]KeyCode = 0[/COLOR]
     End If
End Sub
Private Sub CommandButton1_Click()
    ListBox1.AddItem TextBox1.Value
    TextBox1 = ""
    TextBox1.SetFocus
End Sub

La commande Keycode = 0 annule la sortie du textbox engendrée par l'appui sur la touche entrée.

Cela marche parfaitement, c'est plus clair et plus logique.

++

Sam
 
- 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

  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
276
Réponses
2
Affichages
290
Réponses
16
Affichages
946
Retour