XL 2016 Méthode Combobox.dropdown fantaisiste ....

fanch55

XLDnaute Accro
Bonjour à Tous,

Avez-vous déjà utilisé la méthode Dropdown d'un combobox ?
Elle force le déploiement de la liste de choix .

J'ai voulu l'utiliser pour afficher immédiatement cette liste sans attendre que l'intervenant veuille bien cliquer sur la flèche.
Eh bien, c'est pas la joie ...:eek:

Impossible de faire disparaitre cette liste de l'écran si on ne clique pas sur le combobox, elle reste scotchée .
On peut mettre la combobox à visible=false, celle-ci disparait mais la liste non ...

Voir le gif ci-dessous, il sera plus parlant
combo.gif
Et tant que cette liste sera apparente, on ne peut ouvrir aucune autre combobox dans la même instance d'Excel (même dans un Userform).
S'il y une méthode DropDown pour forcer l'affichage de la liste, il n'y en a pas pour faire l'inverse ...
C'est un oubli bien fâcheux ...:mad:

S'il y a un pendant inverse au dropdown, je suis preneur .
On dirait que c'est une fenêtre à part entière .. je n'ai pas tenté de faire recours aux Api pour essayer de trouver cette fenêtre.

Un petit fichier exemple correspondant au Gif vous permettra de faire le même constat que moi.
 

Pièces jointes

  • Combo.xlsm
    38.7 KB · Affichages: 9
Dernière édition:
Solution
Bonjour fanch55,

Cette macro ferme la liste de la ComboBox placée sur la feuille de calcul :
VB:
Sub FermerListe()
ComboBox1.Activate
ActiveCell.Activate
End Sub
A+

fanfan38

XLDnaute Barbatruc
Bonsoir
Salut JOB75
Perso si je clic sur le textbox ou si j'appuie sur TAB, ça ferme la liste
J'ai seulement modifié
VB:
Private Sub ComboBox1_Change()
    Me.ListBox1.SetFocus
End Sub

Private Sub UserForm_Activate()
    Me.ComboBox1.DropDown
 '   Me.ListBox1.SetFocus
End Sub
A+ François
 

fanch55

XLDnaute Accro
@job75
Comme quoi un oeil neuf peut apporter la solution .
Je me suis focalisé depuis presque un mois sur le Combobox.select et complétement oublié l'Activate :mad:

Alors le principe c'est donc :
J'active la Combo et aussitôt j'active autre chose ...

En m'inspirant de cette piste,
j'ai donc fait un activate juste après le dropdown ( qui lui n'active que la liste et pas le combo ) .
Tout fonctionne correctement, le Lostfocus est honoré .

La contrepartie, c'est que je dois faire un selection.activate quand je reviens d'un code "externe" tel qu'un userform ou shape ....

Désolé, je raconte un peu ma vie là, mais si cela peut aider un autre ....:cool:

Merci Job, je clos la discussion .
 
Haut Bas