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
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
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 ?