Sub aff_listbox()
Dim c As Range, firstAddress As String, j As Byte 'déclaration des variables
Me.ListBox1.Clear 'on efface le listbox
Me.ListBox1.ColumnCount = [T_data].Columns.Count 'on affecte le nombre de colonne
With [T_data[Prénom père]] 'avec la base de données T_Data dans la colonne Prénom père
Set c = .Find(Me.ComboBox1, LookIn:=xlValues, lookat:=xlWhole) 'on recherche le combobox1
If Not c Is Nothing Then 'si trouvé
firstAddress = c.Address 'on enregistre l'adresse
Do'boucle
'si nom de la mere identique au combobox2
If [T_data[Nom mère]].Item(c.Row - 1) = Me.ComboBox2.Value Then
Me.ListBox1.AddItem [T_data].Item(c.Row - 1, 1) 'on ajoute au listbox la ligne
For j = 1 To [T_data].Columns.Count - 1
Me.ListBox1.List(Me.ListBox1.ListCount - 1, j) = [T_data].Item(c.Row - 1, j + 1)
Next
End If
Set c = .FindNext(c) 'on continue la recherche du prenom du pere
If c.Address = firstAddress Then Exit Do 'si on revient à la premiere adresse on quitte
Loop While Not c Is Nothing 'tant que l'on trouve le prenom du pere on continue la boucle
End If
End With
End Sub