ListBox - 2 colonnes - multisélection

Bonjour à tous,

Je m'arrache les cheveux depuis hier sur un problème qui m'a l'air simple mais pour lequel je ne parviens pas à trouver de réponse.

Je me suis donc lancée à corps perdu dans les userform et je bute sur ceci :

J'ai une listbox à 2 colonnes, avec entête, j'ai choisi la sélection multiple (dans les propriétés de ma listBox), jusque là tout va bien.

Mon userform s'ouvre lorsque je clique sur ma cellule : là encore tout va bien.

Pourquoi, lorsque mon userform s'ouvre, la sélection que je choisis me prend toute la ligne ?

Ce que j'aurais voulu obtenir c'est de pouvoir sélectionner un à gauche, un à droite, (ou plusieurs) mais pas toute la ligne, sinon mon résultat n'a plus de sens, pouvez vous m'aider ?

Un grand merci

Private Sub UserForm_Initialize()
Me.TextBoxNom.Value = ActiveCell.Offset(0, 0).Value

With Me.ListBoxDisposAM

 ListBoxDisposAM.RowSource = "Données!D2:E13"

End With
End Sub
capture

Bonjour,

Visiblement, la Listbox fait tout à fait son office car c'est comme cela qu'elle fonctionne. C'est sans doute l'utilisation de la ListBox qui n'est pas adaptée.

Ce qu'on comprend, c'est que vous essayez de définir une disponibilité pour une personne. Il faudrait expliquer ce que vous cherchez à faire avec un fichier exemple.

D'après ce que je lis (sauf si vous me dites le contraire), ce que j'essaie de faire n'est pas possible

J'ai donc tenté de passer par une ListView

Private Sub UserForm_Initialize()
Me.TextBoxNom.Value = ActiveCell.Offset(0, 0).Value

With ListViewDisposAM

       .View = lvwReport
   .CheckBoxes = True
   .FullRowSelect = False
   .Gridlines = False
   With .ColumnHeaders
      .Clear
      .Add , , "Toutes les semaines", 100
      .Add , , "Jour", 100
      .Add , , "Tous les 15 jours", 100
   End With

   Dim li As ListItem

   Set li = .ListItems.Add()
   li.ListSubItems.Add , , "Lundi"
   li.ListSubItems.Add , , 1

   Set li = .ListItems.Add()
   li.ListSubItems.Add , , "Mardi"
   li.ListSubItems.Add , , 1

   Set li = .ListItems.Add()
   li.ListSubItems.Add , , "Mercredi"
   li.ListSubItems.Add , , 1

   Set li = .ListItems.Add()
   li.ListSubItems.Add , , "Jeudi"
   li.ListSubItems.Add , , 1

   Set li = .ListItems.Add()
   li.ListSubItems.Add , , "Vendredi"
   li.ListSubItems.Add , , 1

   Set li = .ListItems.Add()
   li.ListSubItems.Add , , "Samedi"
   li.ListSubItems.Add , , 1

   .ColumnHeaders(1).Position = 3
End With
End Sub
capture

Cependant je devrais mettre des checkbox à la place de mes "1"

J'ai lu que c'était possible mais je n'ai pas compris la marche à suivre reprise ici : Excel VBA ListView Control Examples | 10Tec

Il semble que je doive configurer l'"ImageList1" mais je ne sais pas comment m'y prendre

Si j'y arrive me restera encore à trouver comment récupérer mes données sous forme de liste reprenant les jours et fréquences de dispo ;)

Ou auriez vous une autre idée de conception ?

Rechercher des sujets similaires à "listbox colonnes multiselection"