XL 2019 Cercle calcul de distance entre 2 points aux alentours de 0°

jclaborde

XLDnaute Nouveau
Bonjour

J'ai 2 points sur un cercle l'un est Fixe (le vert sur le jpeg) l'autre mobile (le bleu)
Le mobile a une orbe d'influence de + ou - 15° par rapport à sa position
Je cherche à savoir si le point Fixe est dans son orbe d'influence
et cela se corse lorsqu'on arrive à la limité de 360° / 0°
le Vert est à 355°
le bleu à 5° avec son orbe d'influence soit 5°-15° à 5° + 15°
orbe inférieure = 5°-15°=-10° soit -10 +360 = 350°
orbe supérieur = 5° + 15° = 20°
Il faut donc que je déterine si le vert fixe se trouve dans cette zone entre 350° et 0° ou entre 0° et 20°
Y aurait-il une fonction en vba qui donnerait Vrai ou faux si le point vert est dans l'influence du bleu ?
Je me prend peut être la tête pour rien, je m'en excuse
merci
 

Pièces jointes

  • Limite Cercle.jpg
    Limite Cercle.jpg
    49 KB · Affichages: 3
Solution
Bonjour JClaborde,
Pas sur d'avoir bien compris.
Mais si le Bleu est en colonne A, et le Vert en colonne B, alors l'écart peut être calculé avec :
VB:
=MIN(B2-A2;360-B2+A2)
Soit
=MIN(Vert-Bleu;360-Vert+Bleu)
Ainsi le problème est résolu.
( en VBA très simple à transposer )

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour JClaborde,
Pas sur d'avoir bien compris.
Mais si le Bleu est en colonne A, et le Vert en colonne B, alors l'écart peut être calculé avec :
VB:
=MIN(B2-A2;360-B2+A2)
Soit
=MIN(Vert-Bleu;360-Vert+Bleu)
Ainsi le problème est résolu.
( en VBA très simple à transposer )
 

Pièces jointes

  • Classeur2.xlsx
    7.7 KB · Affichages: 4

jclaborde

XLDnaute Nouveau
Bonjour JClaborde,
Pas sur d'avoir bien compris.
Mais si le Bleu est en colonne A, et le Vert en colonne B, alors l'écart peut être calculé avec :
VB:
=MIN(B2-A2;360-B2+A2)
Soit
=MIN(Vert-Bleu;360-Vert+Bleu)
Ainsi le problème est résolu.
( en VBA très simple à transposer )
merci @sylvanu
c'est tout à fait ça
j'aurai préférerune fonction vba car c'est une partie appelé par macro
en tous les cas Vite et Bien comme on dit
👍
 

jclaborde

XLDnaute Nouveau
merci à toi
J'étais en train de tester des valeurs sur différents référentiels
La question était par convention sur la base d'un référentiel circonférence du cercle = 360° et tout est OK
J'ai d'autres cercles où la circonférence = 90° ou 22.5°, etc . Ce n'est qu'une question de graduation du cercle)
Je remplace donc 360 par le nouveau référentiel =MIN(B2-A2;22.5-B2+A2)
et tout est OK aussi
Et merci pour la fonction
je rajoute juste à la fonction If Ecart <0 then Ecart=(360 +Ecart) *-1 pour conserver le sens de l'évart
bonne soirée
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
743

Statistiques des forums

Discussions
314 431
Messages
2 109 515
Membres
110 495
dernier inscrit
durandfew