Liste déroulante

Résolu
Alex -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

J'ai créé une zone de liste déroulante avec le controle de formulaire à laquelle j'ai associé la macro que je voulais, jusqu'ici tout va bien ! Je souhaite maintenant faire en sorte que cette liste déroulante s'affiche automatiquement à chaque fois que l'utilisateur clique sur l'une des cellules de la colonne B. Là est mon problème j'ai essayé différentes choses mais rien n'a marché....
Auriez vous une idée de comment s'y prendre ?

Merci d'avance
A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Ce code est basé sur un exemple d'Eriiic ICI pour l'apparition, d'un calendrier. Suffit d'adapter en changeant l'objet et donc en remplaçant par ta listbox. Ce code est à placer dans le module de la feuille concernée.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' si la sélection sur la feuille change (target est la référence de la sélection)
    If Target.Column <> 2 Or Target.Row < 2 Or Target.Cells.Count > 1 Then
        'si la colonne <>2 (B) ou la ligne <2 ou la sélection fait plus d'1 cellule
        ListBox1.Visible = False
        'alors on cache la liste
        Exit Sub
    Else
        'sinon
        ListBox1.Top = Target.Offset(1, 0).Top
        ' aligner la liste avec le haut de la cellule en dessous
        ListBox1.Left = Target.Left
        ' l'aligner à gauche de la cellule
        ListBox1.Visible = True
        'afficher la liste
    End If
End Sub
 

0
alex
 
Super merci beaucoup à vous deux pour votre aide!
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
de rien.
A+
0
aramir Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   222
 
Tu devrais pouvoir mettre un listener en JS sur la case a cliquer / ou utiliser un attribut genre onClick, qui déclencherait une fonction qui changerait la visiblité de ta liste déroulante, comme ceci
document.getElementById('SomeID').style.visibility='hidden';
document.getElementById('SomeID).style.visibility='visible';

-1