Bonjour à tous,
Je cherche à, en partant d'une valeur donnée, faire l'interpolation linéaire dans le tableau correspondant : pour les adeptes de meca flux, pour une valeur de Re je dispose d'un tableau (Cz,Cx).
Je rentre dans ma fonction le Re et le Cz et elle doit me retourner le Cx correspondant.
Je vous joins un fichier test pour que ca soit plus clair! Le code VBA que j'ai fait ne marche évidemment pas ( la fonction interpol marche, c'est la interpol2 qui coince) :
Function Interpol(x, xvalues, yvalues)
x1 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(x, xvalues, 1))
x2 = Application.WorksheetFunction.Index(xvalues, Application.WorksheetFunction.Match(x, xvalues, 1) + 1)
y1 = Application.WorksheetFunction.Index(yvalues, Application.WorksheetFunction.Match(x, xvalues, 1))
y2 = Application.WorksheetFunction.Index(yvalues, Application.WorksheetFunction.Match(x, xvalues, 1) + 1)
Interpol = y1 + (y2 - y1) * (x - x1) / (x2 - x1)
End Function
Function Interpol2(x, y)
Dim a As Range
Set a = Range("B2:G2").Find(x)
x1 = Range("a.Offset(1, 0): a.Offset(10, 0)")
x2 = Range("a.Offset(1, 1): a.Offset(10, 1)")
Interpol2 = Interpol(y, x1, x2)
End Function
Merci beaucoup