Bernard de Go Mars! Fonction Perso d'Interpolation

Bernard de Go Mars

XLDnaute Nouveau
Bonjour à vous tous, gens d'Excellence.

J'ai bâti, il y a déjà un certain temps, un tableau Excel de ''trajectographie'' des fusées. Vous dire cela est un peu une manière de me présenter.
Mon site, cité au bas de ce message en sera une autre...

Mais revenons à ce tableau de trajectographie...
Après calculs de la trajectoire du modèle choisi (dimensions de la fusée, condition météo) le calcul de la trajectoire se fait. Puis, ceci acquis, plusieurs animations montrent le vol de la fusée sous différents angles (zoom départ, téléobjectif ''de poursuite'' , zoom au passage à l'apogée), le tout en repère sol ou repère air...

En réalisant ce tableau, j'avais été très surpris de ne pas trouver, dans la liste des fonctions disponibles, une fonction ''Interpolation''.

Cette fonction m'étant nécessaire pour aller chercher, à chaque instant, Portance et Traînée de la fusée sur une courbe pré-établie, j'avais dû l'improviser dans les cellules :

Pour un X quelconque (dont on recherche une évaluation raisonable du Y, par interpolation) la fonction RechercheV détermine assez facilement le Xinférieur connu.
Ensuite, en utilisant Equiv et Index et on peut donc en déduire le Yinférieur connu, le Xsupérieur connu ainsi que le Ysupérieur connu.

L'estimation du Y quelconque est alors évidemment :

(Xquelconque - Xinférieur)* (Ysupérieur-Yinférieur) / (Xsupérieur-Xinférieur).


Cela ne présente pas de difficulté, mais ça prend de la place dans la barre de formule et ça ne facilite pas la compréhension du tableau par un éventuel lecteur...

Aussi je me suis mis en devoir récemment de créer ma propre fonction personnalisée Interpolation.
Les deux arguments en serait :
-la valeur du X quelconque (dont on recherche le Y)
-et la plage (éventuellement dollardisée)(est-ce nécessaire et possible) des deux colonnes des X et des Y connus.

Mais voilà :
lorsque j'utilise la fonctions RechercheV (avec le ''conteneur" WorksheetFunction.) et en faisant les adaptations que je crois devoir faire, je n'obtiens que le résultat #VALEUR...

Le seul (maigre) résultat dont je puis me féliciter est la création d'une fonction personnalisée IndexTest (à titre de test) qui s'écrit en Visual Basic :

Dim XInf
Function IndexTest(X, PlageCourbe As Range)
XInf = WorksheetFunction.Index(PlageCourbe, X, 1)

IndexTest = XInf
End Function

Le X en question étant bien sûr une valeur existante dans la première colonne de la PlageCourbe.
Le Xinf , innécessaire, a été introduit par moi à titre de test...

Pour des gens comme vous, me débloquer doit être un jeu d'enfant.

Accepterez-vous de le faire ?

En vous remerciant d'avance,

Bernard de Go Mars! .
Notez à la page Physique de la fusée du site Go Mars! entièrement consacré aux techno-fusées à eau , nos textes originaux (qui valent aussi bien pour les fusées à eau que les fusées .. à feu).
 

Discussions similaires

Réponses
3
Affichages
493

Statistiques des forums

Discussions
312 107
Messages
2 085 356
Membres
102 874
dernier inscrit
Petro2611