Bonjour.
Franchement, je serais plus à l'aise pour vous répondre si, au lieu d'une TextBox pour la recherche, il y avait une ComboBox pour chaque donnée devant pouvoir donner lieu à une recherche. On pourrait alors utiliser mon objet ComboBoxLiées qui s'occupe tout seul des listes des ComboBox et de la gestion des choix, et qui établit et rend à l'UserForm dans une table de Long la liste des numéros de lignes dans la base correspondant aux choix effectués, via une procédure évènement.
Je n'avais pas clairement vu que vous utilisiez la propriété RowSource de la ListBox. Vous y affichez donc systématiquement tout, et je ne comprends pas trop à quoi sert la recherche dans ce cas. Vous ne pouvez pas modifier la propriété List d'une ListBox dont la propriété RowSource est renseignée. Dans tous les cas la listBox a une propriété ListIndex qui donne le numéro de la ligne sélectionnée, la 1ère ayant le numéro 0. c'est toujours de là qu'on repart pour garnir les contrôle selon le numéro de ligne de la base qui y correspond.