Bonjour
J'ai récemment changé d'ordinateur, et depuis je n'arrive plus à exécuter automatiquement une fonction crée sous VBA.
Je m'explique: la fonction que j'ai crée sous VBA est utilisé dans de nombreuses cellules de ma feuille, mais à l'ouverture du fichier, toutes les cellules comprenant cette fonction indiquent "#VALUE": je suis obligé de cliquer sur la formule et taper sur "Entrée" pour qu'elle s'exécute.
Une fois que j'ai exécuté 'manuellement' la fonction, elle marche parfaitement. Pour info voici ma fonction:
Function Interp2D(Tx, Ty, T, x, y)
'Avec extrapolation
Dim nbx, nby, Y1, Y2, nx, ny As Single
nbx = Tx.Count
nby = Ty.Count
'Recherche de l'encadrement en x
nx = 1
If x <= Tx(1) Then
nx = 2
ElseIf x >= Tx(nbx) Then
nx = nbx
Else
While x > Tx(nx)
nx = nx + 1
Wend
End If
'Recherche de l'encadrement en y
ny = 1
If y <= Ty(1) Then
ny = 2
ElseIf y >= Ty(nby) Then
ny = nby
Else
While y > Ty(ny)
ny = ny + 1
Wend
End If
'Calculs
Y1 = T(ny - 1, nx - 1) + (T(ny - 1, nx) - T(ny - 1, nx - 1)) / (Tx(nx) - Tx(nx - 1)) * (x - Tx(nx - 1))
Y2 = T(ny, nx - 1) + (T(ny, nx) - T(ny, nx - 1)) / (Tx(nx) - Tx(nx - 1)) * (x - Tx(nx - 1))
Interp2D = Y1 + (Y2 - Y1) / (Ty(ny) - Ty(ny - 1)) * (y - Ty(ny - 1))
End Function
Lorsque je glisse ma souris sur l'icone d'erreur, la phrase suivante s'affiche: "A value used in the formula is of the wrong data type".
Je précise que mon excel est calcul automatique, et que malgré mes nombreuses recherches je ne trouve pas de réponse.
A noter que l'ancien différence était en français, le nouveau est en anglais: pour autant le problème n'intervient que sur cette fonction.
En vous remerciant.