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

Curseur et combobox

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

yves03

XLDnaute Occasionnel
Bonjour,
J'ai un userform avec 2 combobox un textbox + 1 bouton.
A l'initialisation de l'userform le curseur se trouve dans le 1er combobox et apres appui sur le bouton il passe dans le 2 eme combobox;
Je voudrais qu'apres appui sur le bouton le curseur reste dans le combobox 1 ( ou revienne ).
Merci d'avance
 
Re : Curseur et combobox

Bonjour Yves, Said,

si la methode "setfocus" ne suffit pas, peut être empêcher la sortie du contrôle, à voir si j'ai bien compris ta demande :

Code:
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
End Sub

bon après midi
@+
 
Re : Curseur et combobox


Bonjour Pierrot93,

Ton code fonctionne, par contre ça me bloque l'acces au Combobox2
 
Re : Curseur et combobox

Salut,yves03

a défaut d'un fichier joint essayé de mettre dans le Module de Commanbutton1 en dernier avant end sub Combobox1.Setfocus

Cordialement

Bonjour Said,

Lorsque je met Combobox1.setfocus a la fin du code de CommandButton2_Click cela fonctionne.

Par contre ça ne fonctionne pas lorsque j'appuie sur la touche Entrée, pourtant j'utilise:

Private Sub Combobox1_Keydown (Byval Keycode .......
If KeyCode = 13 Then CommandButton2_Click
end sub
 
Re : Curseur et combobox

Bonjour Yves,
Hello Pierrot🙂
Salut Berrached🙂

Yves, il faut annuler le code de touche par:

If KeyCode = 13 Then KeyCode = 0: CommandButton2_Click

A bientôt
 
Re : Curseur et combobox

Bonjour yves03, BERRACHED said, Pierrot93, Hasco, le Forum,

Normalement, tu n'as besoin d'aucun code VBA pour que le curseur reste sur le ComboBox1 après clic sur le bouton. Il suffit simplement de mettre la propriété TakeFocusOnClick du CommandButton sur False. Ainsi, quand l'utilisateur cliques sur le bouton, le curseur reste à son emplacement initial (dans le ComboBox1 donc). Il faut bien sûr virer les Keydown, Exit et autres SetFocus pour ne pas en polluer l'effet.

...pourtant j'utilise:

Private Sub Combobox1_Keydown (Byval Keycode .......
If KeyCode = 13 Then CommandButton2_Click
end sub
Quelle est ton intention ? Souhaites-tu simuler un clic sur le CommandButton lorsque l'utilisateur fait Entrée (quelque soit l'endroit où se trouve le curseur) ?
Dans l'affirmative, alors tu peux supprimer cet évènement KeyDown du ComboBox1 et mettre la propriété Default du CommandButton à True. Tu obtiendras cet effet sans aucun code VBA nécessaire.

Cordialement,
 
Re : Curseur et combobox

Re tout le monde,
Bonjour mDf🙂,

Je viens d'essayer ta soluce qui fonctionne jusqu'à ce que je mette la propriété default à true sur le commandButton. Cela semble contrarier le TakeFocusOnClick = False.

????

A bientôt
 
Re : Curseur et combobox

Re tout le monde,
Bonjour mDf🙂,

Je viens d'essayer ta soluce qui fonctionne jusqu'à ce que je mette la propriété default à true sur le commandButton. Cela semble contrarier le TakeFocusOnClick = False.

????

A bientôt
Effectivement Hasco, tu as raison, tout dépend de ce que tu comptes faire avec et du traitement que l'ami yves03 réserve à son bouton. Le TakeFocusOnClick ne gère que le clic de l'utilisateur (avec la souris), non sa simulation grâce à sa propriété Default combinée avec la touche Entrée.

Cela dit, on peut aussi s'interroger sur l'utilité de maintenir un bouton pour un traitement, qui visiblement, peut être déclenché par la seule touche Entrée.

De toutes façons, par expérience, on s'aperçoit vite que les SetFocus et autres KeyCodes dans tous les sens vont vite transformer une appli plus ou moins bien ficelée en infâme usine à gaz... Mais bon, ça reste un avis tout à fait personnel...

Cordialement,
 
Re : Curseur et combobox

Bonjour Yves,
Hello Pierrot🙂
Salut Berrached🙂

Yves, il faut annuler le code de touche par:

If KeyCode = 13 Then KeyCode = 0: CommandButton2_Click

A bientôt

Bonjoura tous et MERCI pour vos reponses.

J'ai utilisé la solution de Hasco qui me va parfaitement bien.
J'ai laissé le choix a l'utilisateur d'utiliser soit la touche "Enter" soit le bouton, comme il s'agit de saisie à la volée a l'aide d'un lecteur code barre, c'est plus facile d'appuyer sur enter ( enfin je trouve !!) libre à chacun d'utiliser ce qui lui plait.
Merci encore
🙂
 
- 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
Réponses
32
Affichages
777
Réponses
118
Affichages
3 K
Réponses
37
Affichages
1 K
Réponses
2
Affichages
192
Réponses
43
Affichages
819
  • Question Question
Microsoft 365 Contrôle sur date
Réponses
8
Affichages
413
Réponses
9
Affichages
266
  • Question Question
Microsoft 365 Combobox
Réponses
6
Affichages
307
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…