Bonjour pascal,
Si ton fichier de recherche n'a pas expressément besoin de rester fermé, une solution est de l'ouvrir temporairement, de faire la recherche, et de fermer le fichier à la fin :
Private Sub TbRech_Change()
Dim Cel As Range
Dim wbkCherche As Workbook
Me.TbResult = ""
Me.CmbAjouter.Enabled = False
If Me.TbRech = "" Then Exit Sub
'ouvre en lecture seule le fichier dans lequel faire la recherche
Set wbkCherche = Workbooks.Open("C:\Users\SP.PLATRERIE\Desktop\Nouveau dossier\prix.xlsm", , True)
'on cherche dans la colonne A de l'onglet Feuil1
Set Cel = wbkCherche.Sheets("Feuil1").Range("A:A").Find(what:=Me.TbRech, LookIn:=xlValues, lookat:=xlWhole)
If Not Cel Is Nothing Then
Me.TbResult = Cel.Offset(0, 1)
Me.CmbAjouter.Enabled = True
' Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = Cel.Offset(0, 1)
' Else
' MsgBox "Référence inconnue"
End If
'ferme le fichier (false=n'enregistre pas les modifications... même si le fichier a été ouvert en lecture seule)
wbkCherche.Close False
'vide la mémoire
Set wbkCherche = Nothing
End Sub
Je te laisse adapter le nom de l'onglet ainsi que la colonne dans laquelle faire la recherche.
Si vraiment tu souhaites garder le fichier fermé, essaie de joindre le fichier sur le forum afin d'en étudier la structure et de regarder si c'est faisable.
Mets des données bidons si besoin.