Calcul géodésique

Bonjour,

Est il possible de transformer ce programme vers excel (sans utiliser de macro - car j'ai une version pour Mac ancienne)

Cette procédure calcule les coordonnées du point M

Rem ' par la méthode de George.

Rem

Rem Dim N1, N2, D1, D2, Int1, Int2, Xm, Ym As Double

Rem If La = 90 Or La = 270 Then

Rem N1 = Ya - Yo

Rem Else

Rem N1 = (Ya - Yo) - (Xa - Xo) / Tan(La)

Rem End If

Rem If Lb = 90 Or Lb = 270 Then

Rem N2 = Yb - Yo

Rem Else

Rem N2 = (Yb - Yo) - (Xb - Xo) / Tan(Lb)

Rem End If

Rem If La = 90 Or La = 270 Then

Rem D1 = Xa - Xo

Rem Else

Rem D1 = (Xa - Xo) + (Ya - Yo) / Tan(La)

Rem End If

Rem If Lb = 90 Or Lb = 270 Then

Rem D2 = Xb - Xo

Rem Else

Rem D2 = (Xb - Xo) + (Yb - Yo) / Tan(Lb)

Rem End If

Rem Int1 = (N2 - N1) / (D1 - D2)

Rem Int2 = (Int1 * D1 + N1) / (1 + Int1 * Int1)

Rem Xm = Int1 * Int2 + Xo

Rem Ym = Int2 + Yo

merci

cordialement

Seychelles85

Bonjour,

Ci-joint une proposition qui donne des résultats -- mais je ne contrôle rien car j'ignore ce langage et le calcul géodésique...

(donc j'ai mis des valeurs bidon).

A ce que je comprends, tu dois renseigner les valeurs La, Lb, Xa, Xb, Xo, Ya, Yb et Yo,

et Excel calcule les valeurs N1, N2, D1, D2, Int1, Int2, Xm, et Ym.

En haut de la feuille, j'ai mis la traduction en Excel du programme d'origine, en bas tu trouveras les calculs dans les cellules sur fond jaune.

Pour simplifier la lecture des formules, j'ai nommé des cellules du nom de la variable qu'elles contiennent.

Dernière précision : dans le programme d'origine, je ne comprends pas "Ym As Double".

J'espère que ça marche et que c'est ce que tu attendais.

Merci,

C'est parfait, je vais essayer de m'inspirer de ton analyse et le cas échéant te redemanderais de l'aide

Sympa et encore merci

Bon dimanche

Seychelles85

Un dernière aide toujours dans mes calculs de géodésie (en fait des résolution de rectangle)

Rem ' Cette fonction calcule à partir des coordonnées des points le V0

'En clair la valeur angulaire depuis le Nord (000°) de la ligne partant du point A vers le point B'

Rem ' qui est un angle compris entre 0 et 360 degrés.

Rem

Rem Dim u_Int As Double

Rem

Rem ' On a 0<Int<Pi/2.

Rem

Rem u_Int = Atn(Abs((Xb - Xa) / (Yb - Ya))) * 180 / Pi

Rem

Rem If (Yb - Ya) > 0 And (Xb - Xa) > 0 Then

Rem V0 = u_Int

Rem ElseIf (Yb - Ya) < 0 And (Xb - Xa) > 0 Then

Rem V0 = 180 - u_Int

Rem ElseIf (Yb - Ya) < 0 And (Xb - Xa) < 0 Then

Rem V0 = u_Int + 180

Rem ElseIf (Yb - Ya) > 0 And (Xb - Xa) < 0 Then

Rem V0 = 360 - u_Int

Rem End If

Rem End Function

Rem

merci

cordialement

Seychelles85

Rebonjour,

Mêmes remarques que précédemment → à tester...

Merci,

j'espère que cela ne t'a pas empêché de voir le match

cordialement

Seychelles85

Rechercher des sujets similaires à "calcul geodesique"