Liste déroulante

Résolu/Fermé
Alex - 19 juil. 2013 à 15:10
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 22 juil. 2013 à 11:38
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

3 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 juil. 2013 à 08:02
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
Super merci beaucoup à vous deux pour votre aide!
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 juil. 2013 à 11:38
de rien.
A+
0
aramir Messages postés 939 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 26 décembre 2016 222
19 juil. 2013 à 15:25
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