Private Sub ComboBox1_Change()
ListBox1.TopIndex = ComboBox1.ListIndex
End Sub
Private Sub CommandButton1_Click() 'bouton Valider
Dim t, i&
t = [Tableau1].Columns(5).Resize(, 2) 'au moins 2 cellules
For i = 1 To UBound(t)
t(i, 1) = IIf(ListBox1.Selected(i - 1), "OUI", "")
Next
[Tableau1].Columns(5) = t
UserForm_Initialize
End Sub
Private Sub UserForm_Initialize()
Dim t, d As Object, i&
With [Tableau1]
'---initialisation de la ComboBox---
If ComboBox1.ListCount = 0 Then
.Sort .Columns(2), xlAscending, Header:=xlYes 'tri
ComboBox1.List = .Columns(2).Value
End If
'---initialisation de la ListBox---
t = .Columns(5).Resize(, 2) 'au moins 2 cellules
ListBox1.RowSource = .Address
For i = 1 To UBound(t)
ListBox1.Selected(i - 1) = t(i, 1) = "OUI"
Next
End With
End Sub