VBA VB6 - Forcer l'ouverture d'un ComboBox
Pour obliger un ComboBox à s'ouvrir il y a la fonction...
ComboBox1.DropDown
Seulement voilà... Pour ça il faut que le comboBox ai le focus, et si la commande vient d'un autre contrôle c'est ce contrôle qui a le focus, donc... ça va pas.
Pour ouvrir l'autre ComboBox il faut recourir à une astuce que voilà,
Placer 2 ComboBox sur une feuille de calcul ou sur un UserForm nommer respectivement ComboBox1 et CombBox2
Dans les événements change de ces deux combo placer le code suivant.
Private Sub ComboBox1_Change() '========== Combo sur une feuille ========= 1 'ComboBox2.Activate '========== Combo sur un UserForm ou VB6 ========= 2 'ComboBox2.SetFocus '========================================== SendKeys "^(F4)" End Sub Private Sub ComboBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 16 Then ComboBox2.DropDown End If End Sub
En libérant la ligne 1 ou 2 suivant l'emplacement des comboBox.
Résultat : Quand vous faite une sélection sur le ComboBox 1, le 2 s'ouvre automatiquement.
Télécharger un classeur Excel 97 - 2003
Serveur 1 : 3 combo & DropDown.xls
Ce document intitulé « VBA VB6 - Forcer l'ouverture d'un ComboBox » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.