Que ce soit une ListBox ou un TextBox, les données sont de type String.
Donc, il ne faut rien toucher dans l'affichage de l'Userform, sauf pour le confort de l'utilisateur.
On peut, par exemple, changer le format de date (exemple :"mm/dd/yyyy" au lieu de "dd/mm/yyyy") mais simplement pour un confort d'affichage.
L'important est de transformer cette donnée "Texte" (String) en date au moment du transfert dans la bdd.
Donc, modifiez votre format de date au transfert de la listbox vers le textbox et, ensuite, vous n'y toucherez qu'au moment du transfert dans la bdd...
Private Sub ListRecherche_Click()
'Déclaration de variable
Dim NumLigne As Integer
NumLigne = Me.ListRecherche.ListIndex
'Peut-être ajouter un test ici au cas ou...
'If IsDate(Me.ListRecherche.Column(8, NumLigne)) Then
Me.TxtDate2.Value = CDate(Me.ListRecherche.Column(8, NumLigne))
'End If
End Sub
Si l'utilisateur a le loisir de modifier cette date, dans la TextBox, il vous faudra vous assurer, avant le transfert vers la bdd, que vous avez toujours une date.
Comment faites vous ce transfert?