Dim tblAdh()
Private Sub ListBox1_Click()
If ListBox1.ListIndex > -1 Then
Sheets("Base").ListObjects("Adherents").DataBodyRange.Cells(ListBox1.Value, 1).Select
Unload Me
End If
End Sub
Private Sub TextBox1_Change()
Dim i As Integer, nom
ListBox1.Clear
nom = Trim(TextBox1.Text)
If nom = "" Then
Me.ListBox1.List = tblAdh
Else
For i = 1 To UBound(tblAdh)
If UCase(tblAdh(i, 1)) Like UCase(nom & "*") Then
With Me.ListBox1
'Ajoute le nom + le prénom dans la première colonne
.AddItem tblAdh(i, 1) & " " & tblAdh(i, 2)
'ajoute l'index du nom prénom dans la colonne 2 (cachée) de la listbox
.List(.ListCount - 1, 1) = i
End With
End If
Next
End If
End Sub
Private Sub UserForm_Initialize()
tblAdh = Sheets("Base").ListObjects("Adherents").ListColumns(3).DataBodyRange.Resize(, 2).Value
Dim i As Integer
With Me.ListBox1
.ColumnCount = 2 '2 colonnes dans la listBox 1 pour nom prénom l'autre pour la valeur de i
.BoundColumn = 2 'La valeur de cette colonne sera la valeur retournée par la sélection dans la liste
.ColumnWidths = ";0 pt" ' 0 pt cache la colonne 2
For i = 1 To UBound(tblAdh)
'Ajoute le nom + le prénom dans la première colonne
.AddItem tblAdh(i, 1) & " " & tblAdh(i, 2)
'ajoute l'index du nom prénom dans la colonne 2 (cachée de la listbox
.List(.ListCount - 1, 1) = i
Next i
End With
End Sub