Liste déroulante

Résolu
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

  1. 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. Modérateur
      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