Bonjour,
Une piste sur "Exit" du TextBox mais ça me paraît pas top comme fonctionnement de rajouter le nom de cette façon.
Il serait préférable de créer un formulaire spécifique d'ajout de client pour l'enregistrement dans la base de données.
Si dans le formulaire "Ajouter une pièce" le nom saisie n'existe pas, le formulaire dédié s'ouvre pour entrer toutes les données qui concernent ce nouveau client. et une fois ceci fait, revenir sur ton formulaire avec toutes les données valides dans les champs correspondants :
Private Sub txtnom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim Plage As Range
Dim Cel As Range
With Worksheets("données"): Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
txtnom.Text = UCase(txtnom.Text)
Set Cel = Plage.Find(txtnom.Text, , xlValues, xlWhole)
If Not Cel Is Nothing Then
txtprenom.Text = Cel.Offset(, 1).Value
txttelephone.Text = Cel.Offset(, 2).Value
Else
Worksheets("données").Cells(Plage.Rows.Count + 2, 1).Value = txtnom.Text
End If
End Sub