Bonjour Yoh,
tu a écrit :
j'ai un message d'erreur : #NOM?
ça signifie que la fonction personnalisée PrixGarantie() n'est pas reconnue ; il faut :
* que le fichier soit un .xlsm (avec prise en charge des macros) ; ou un fichier .xls (fichier Excel < 2007)
* placer le code VBA de la fonction dans Module1 ; il faut aussi : Option Compare Text
Option Explicit: Option Compare Text
Function PrixGarantie(produit$, marque$) As Currency
Dim T1, T2, n&, lig&, f As Byte, i%
With Worksheets("Garantie")
n = .Cells(Rows.Count, 1).End(xlUp).Row
If n = 1 Then Exit Function
T1 = .Range("A1:C" & n)
For lig = 2 To n
T2 = Split(T1(lig, 1), ", "): f = 0
For i = 0 To UBound(T2)
If T2(i) = produit Then f = 1: Exit For
Next i
If f = 1 Then
T2 = Split(T1(lig, 2), ", ")
For i = 0 To UBound(T2)
If T2(i) = marque Then f = 2: Exit For
Next i
End If
If f = 2 Then PrixGarantie = T1(lig, 3)
Next lig
End With
End Function
dhany