Bonjour,
Votre code me semble étonamment long et complexe pour ce que vous souhaitez faire... Enfin, il est fonctionnel :)
Ci-après votre fichier avec votre problème résolu.
Je vous ai ajouté, dans un nouveau module, une fonction "GetPrice(itemName)" qui vous renvoie le prix du nom de l'item donné en argument, en le recherchant dans votre feuille "Liste Clients".
Cette fonction est ensuite appellée via la valeur se trouvant actuellement dans le Combobox.
Public Function GetPrice(itemName As String) As String
Dim priceRng As Range
With ThisWorkbook.Worksheets("Liste Clients")
Set priceRng = .Cells.Find(What:=itemName)
End With
If Not priceRng Is Nothing Then
GetPrice = priceRng.Offset(0, 1).Value2
Else
GetPrice = vbNullString
End If
End Function
Appelée via
Private Sub ComboBoxTest_Change()
Call SaisieFiltréeComboBoxChange(Me.ComboBoxTest)
Prix.Value = GetPrice(ComboBoxTest.Value)
End Sub
EDIT : Arturo toujours plus rapide les deux codes proposés utilisent le meme principe puisque je me suis inspiré d'une de ses réponses pour vous proposer "le mien".