Re,
On a une plage nommée "Distancier" avec les distances entre les différents points :
Regarde la pièce jointe 1213972
Ensuite Sur la feuille "Ecarts" en B4, on a une formule, avec 2 fonctions LAMBDA récursives, qui génère la liste de tous les trajets en fonction de la plage "Distancier" (hors point O) :
Regarde la pièce jointe 1213974
Là ce n'est pas facile à comprendre, j'en conviens 😳😖 !
Remarque : L'utilisation du # permet de se référer à la plage occupée par une formule matricielle dynamique comme celle ci-dessus. Ainsi $B$4# se réfère à la liste de tous les trajets calculés (dans l'exemple du trajet AB au trajet IJ soit la plage B4:B48, sachant que si le distancier évolue cette plage évoluera avec lui)
En C4 on a une formule qui recherche la distance entre le premier point (le caractère de gauche dans la colonne B : A, B, C ...) et le point O ,ces distances sont dans la 2ème colonnes du distancier :
Regarde la pièce jointe 1213979
On recherche le caractère de gauche pour toutes les cellules occupée par la formule en B4 dans la 1ère colonne du distancier et on renvoie la valeur correspondant dans la 2ème colonne du distancier.
Même chose en D4, mais pour le deuxième point du trajet càd avec le caractère de droite cette fois ci :
Regarde la pièce jointe 1213980
En E4 on recherche la distance entre les deux points du trajet, on trouve la ligne du point de départ dans la 1ère colonne du distancier et la colonne du point d'arrivée dans la 1ère ligne, la distance se trouve à l'intersection :
Regarde la pièce jointe 1213981
Les écarts se trouvent en calculant AO+BO-AB soit C4#+D4-E4# (remarque les # pour s'appliquer à toutes les valeurs renvoyées par les formules précédentes :
Regarde la pièce jointe 1213984
En H4 on génère la liste de trajets (B4#:F4#) triée dans l'ordre croissant des écarts et on retourne les colonnes 1 et 5 (ici la formule occupe 45 ligne et 2 colonnes) :
Regarde la pièce jointe 1213985
On n'utilise que 6 formules (et non pas 5 comme noté au début) pour générer ces tableaux et ils s'adapteront automatiquement à tous les changement opérés dans le distancier.
La formule avec les 2 fonctions LAMBDA récursives méritera plus d'explications, mais je le ferai quand tu auras digéré les autres points ! 😉
À bientôt