Forcer la position du curseur dans un formulaire

Salut le forum !

Encore un problème qui me turlupine depuis déjà un bon moment :

Sur un userform j'ai plusieurs textbox, boutons etc... seulement je voudrais qu'a chaque action le curseur se positionne sur un textbox bien particulier, j'ai essayé divers solutions (tabindex, setfocus cancel etc... ) mais rien n'y fait !! Ce textbox est particulier car il permet d'accueillir l'entrée d'une douchette et je ne veux pas que le curseur se balade n'importe ou !

Merci

Voir pj

104forcer-curseur.xlsm (21.09 Ko)

Bonjour,

Comment se fait-il que SetFocus ne fonctionne pas ...???

Private Sub UserForm_Initialize()
Me.TextBox2.SetFocus
End Sub

Oui mais comment l'appliquer à la sortie du textbox3 par exemple ??

EDIT : ca fonctionne avec les boutons, listbox etc.. mais pas en sortant d'un textbox, j'utilise "exit" mais il y a peut être un autre code ??

JIDE a écrit :

Oui mais comment l'appliquer à la sortie du textbox3 par exemple ??

EDIT : ca fonctionne avec les boutons, listbox etc.. mais pas en sortant d'un textbox, j'utilise "exit" mais il y a peut être un autre code ??

Re,

Effectivement ... tu as raison ... étrange ...

Ci-joint une astuce ... pas catholique ... mais qui a l'air de fonctionner ... à tester ...

Bonsoir,

Les contrôles sont parcourus dans l'ordre de leur TabIndex

Le premier contrôle à prendre la main doit avoir un TabIndex à 0 ensuite 1...

Encore faut-il ne pas contrarier le déroulement logique par un clic indésirable ou un SetFocus qui contredit le TabIndex !

Si le TabIndex est correct on peut gérer une perte de focus indésirable de la manière suivante :

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox2 = "" Then Cancel = True
End Sub

Dans ce cas le contrôle ne peut pas perdre la main tant qu'il n'a pas reçu de donnée.

A+

Excellent j'avais essayé cette méthode avec tabindex en incrémentant -1 (sans succès !)

Merci beaucoup !!

Pas vu ton message galopin01, ton code ne permet de rester dans le textbox si uniquement il est vide, ce n'est pas ce que je souhaite, j'ai déjà essayé avec cancel, j'avoue ne pas trop être à l'aise avec, je vais prendre la solution a James, je rouvrirais ce sujet si jamais je vois un problème

Merci à tous les 2 !!

Merci pour tes remerciements ...

Merci Galopin ... Je ne savais pas qu'on pouvait ratrapper la perte du focus ... c'est toujours sympa d'apprendre ...

Merci pour tes remerciements ...

Merci Galopin ... Je ne savais pas qu'on pouvait ratrapper la perte du focus ... c'est toujours sympa d'apprendre ...

Bonjour,

Effectivement ce code est excellent pour rester dans la textbox.

Mais malheureusement cela engendre d'autres problèmes

Ce code bloque l'utilisation des bouton de commande, de combobox s'il y en a.

titi32600

Rechercher des sujets similaires à "forcer position curseur formulaire"