bonjour LouReeD,Heelflip,
un essai, mais si cela convient, on peut créer une fonction personnalisée ... (si vous nous donnez un fichier)
Et pour les valeurs >400, il faut aussi extrapoler ou prendre la valeur maximale ?
Sub Heelflip()
Dim aA, aHeader, i, Valeur
aHeader = Evaluate("iferror(--Tabel1[#Headers],""x"")") 'matrice avec les valeurs numériques de l'entête
aA = Range("Tabel1").Value 'databodyrange du tableau
arr = Array(40, 50, 90, 100, 400, 450) 'les valeurs que vous demandez dans un boucle
For i = 0 To UBound(arr) 'boucler ces valeurs
r = Application.Match(arr(i), aHeader, 1) 'recherchez cette valeur dans l'entête
If IsNumeric(r) Then 'trouvé !!!
If aHeader(r) = arr(i) Then 'match exacte = facile
MsgBox "valeur " & arr(i) & " " & aA(1, r)
Else 'match non-exacte (et supposons que vous voulez utiliser les données de la première listrow)
If r = UBound(aHeader) Then r = r - 1 'extrapoler avec l'avant-dernier et le dernier !!!!
MsgBox "valeur " & arr(i) & " " & WorksheetFunction.Forecast_Linear(arr(i), Array(aA(1, r), aA(1, r + 1)), Array(aHeader(r), aHeader(r + 1))) 'extrapoler
End If
Else
MsgBox "trop petit : " & arr(i)
End If
Next
End Sub