Les Allergies
Alimentaires

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
Serveur réserve : 3 combo & DropDown.xls
Publié par lermite222 - Dernière mise à jour le 2 mars 2011 à 18:33 par lermite222
Ce document intitulé « VBA VB6 - Forcer l'ouverture d'un ComboBox » issu de CommentCaMarche (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.
Suggestions
  •  VBA VB6 - Forcer l'ouverture d'un ComboBox
  •  Boucle for vba (Résolu) » Meilleure réponse: Bonjour, Tu peux utiliser le For ... Next ou le While ... Wend ou le Do ... Loop. Dim i As Integer For i = 1 To 10 Sheets(1).Range("A" & i).Value = Sheets(1).Range("A" & i - 1) + Sheets(1).Range("B" & i) Next i Ou Dim i As Integer i = 1
  •  Yahoo.fr ouverture de session » Meilleure réponse: Bonjour, J'ai une adresse mail YAHOO, et j'ai également eu quelques soucis d'ouverture ! car en fait j'en ai 1 autre professionnelle qui s'ouvre en 1er automatiquement et je n'arrive pas a ouvrir la mienne. merci de votre aide.
  •  Combobox » Meilleure réponse: Me.Combobox1.AddItem "Lundi" Me.Combobox1.AddItem "Mardi"
  •  While vba » Meilleure réponse: Bonjour, chez moi, de cette façon, le [And] et le [Or] fonctionne ! Option Explicit Sub Test() Dim cellExcel As Range Dim a As Long, b As Long Set cellExcel = Range("A1") a = 10: b = 5 While ((a > b) Or (Left(cellExcel.Value, 5) <> "Tot
  •  Forcer ejection cd mac (Résolu) » Meilleure réponse: Bonjour, Je ne sais pas ce que vous appelez un CD du code ? , pour forcer un Mac a éjecter un CD il existe plusieurs méthodes.. http://www.commentcamarche.net/forum/affich 2783029 imac cd rom bloque#17 http://www.commentcamarche.net/for
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?
VBA VB6 - Lire tous les fichiers, répertoires et sous/rép
Ouvrir un document ODT/ODF avec la suite Office (Word...)