Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

traduire en VBA la formule

8 réponses
Avatar
arnaud
Bonjour à tous :
J'ai une formule issu d'un langage de programmation et j'aimerai réutiliser
cette formule sous VBA mais elle ne fonctionne pas :
d = 2*asin( sqrt (pow(sin (($lat1-$lat2)/2),2) + (
cos($lat1)*cos($lat2)*pow( sin(($lon1-$lon2)/2),2) ) ))

VBA n'a pas l'air d'apprecier ma fonction pow !

Merci de votre aide

Arnaud

8 réponses

Avatar
Oliv'
arnaud que je salut a écrit dans
%
Bonjour à tous :
J'ai une formule issu d'un langage de programmation et j'aimerai
réutiliser cette formule sous VBA mais elle ne fonctionne pas :
d = 2*asin( sqrt (pow(sin (($lat1-$lat2)/2),2) + (
cos($lat1)*cos($lat2)*pow( sin(($lon1-$lon2)/2),2) ) ))

VBA n'a pas l'air d'apprecier ma fonction pow !

Merci de votre aide

Arnaud


Si tu nous indiqués à quoi elle sert cette fonction pow ? et sqrt ?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
AV
VBA n'a pas l'air d'apprecier ma fonction pow !


Ben c'est quoi la fonction de feuille de calcul "pow" ?
La seule approchante pourrait être "power" ?
Par vba tu veux le rsultat du calcul ou écrire la fonction dans une feuille ?
$lon1, $lon2..... sont des variables ou des noms ?

AV

Avatar
AV
Exemples à adapter :

sub zzz()
lat1 = 10: lat2 = 20: long1 = 30: long2 = 40
'renvoyer la valeur
MsgBox Evaluate("2*asin(sqrt(power(sin((" & lat1 & "-" & lat2 & ")/2),2) +
(cos(" & lat1 & ")*cos(" & lat2 & ")*power(sin((" & long1 & "-" & long2 &
")/2),2) ) ))")
'ecrire la formule en A1
[A1] = "=2*asin(sqrt(power(sin((" & lat1 & "-" & lat2 & ")/2),2) + (cos(" & lat1
& ")*cos(" & lat2 & ")*power(sin((" & long1 & "-" & long2 & ")/2),2) ) ))"
end sub

AV
Avatar
as-kisscooltn
Salut,

j'imagine que pow est juste l'exposant.
donc dans ce cas pow(x,2) s'ecrit x^2.
pareil pour sqrt, c'est la racine carree mais l'orthographe n'est pas
la meme donc sqrt(x)=sqr(x) ou x^0.5
Par contre je suis pas sur non plus que asin marche en vba. par contre
il exite atn (arc tangente) et donc :
asin(x)=Atn(x/sqr(1-x^2))
si tu utilises souvent cette fonction, il est peut etre plus lisible
pour tes formules de calcul de la creer..

A +
mehdi

Oliv' (supprimerceci) wrote:
arnaud que je salut a écrit dans
%
Bonjour à tous :
J'ai une formule issu d'un langage de programmation et j'aimerai
réutiliser cette formule sous VBA mais elle ne fonctionne pas :
d = 2*asin( sqrt (pow(sin (($lat1-$lat2)/2),2) + (
cos($lat1)*cos($lat2)*pow( sin(($lon1-$lon2)/2),2) ) ))

VBA n'a pas l'air d'apprecier ma fonction pow !

Merci de votre aide

Arnaud


Si tu nous indiqués à quoi elle sert cette fonction pow ? et sqrt ?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Avatar
arnaud
effectivement, pow, c'est l'exposant et sqrt c'est la racine carree.
Le tout me permet de créer ma function VBA

Function CalculD(lat1, lon1, lat2, lon2)
d = 2 * Asin(sqrt(Exp(Sin((lat1 - lat2) / 2), 2) + (Cos(lat1) * Cos(lat2) *
Exp(Sin((lon1 - lon2) / 2), 2))))
End Function

je vais tester avec vos conseils de remplacement...
Merci ....
Arnaud


a écrit dans le message de news:

Salut,

j'imagine que pow est juste l'exposant.
donc dans ce cas pow(x,2) s'ecrit x^2.
pareil pour sqrt, c'est la racine carree mais l'orthographe n'est pas
la meme donc sqrt(x)=sqr(x) ou x^0.5
Par contre je suis pas sur non plus que asin marche en vba. par contre
il exite atn (arc tangente) et donc :
asin(x)=Atn(x/sqr(1-x^2))
si tu utilises souvent cette fonction, il est peut etre plus lisible
pour tes formules de calcul de la creer..

A +
mehdi

Oliv' (supprimerceci) wrote:
arnaud que je salut a écrit dans
%
Bonjour à tous :
J'ai une formule issu d'un langage de programmation et j'aimerai
réutiliser cette formule sous VBA mais elle ne fonctionne pas :
d = 2*asin( sqrt (pow(sin (($lat1-$lat2)/2),2) + (
cos($lat1)*cos($lat2)*pow( sin(($lon1-$lon2)/2),2) ) ))

VBA n'a pas l'air d'apprecier ma fonction pow !

Merci de votre aide

Arnaud


Si tu nous indiqués à quoi elle sert cette fonction pow ? et sqrt ?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



Avatar
Yvan95
Bonjour tout le monde.

Attention Arnaud! Ne pas confondre la fonction Exp (exponentielle) et la
fonction power (Puissance). D'ailleurs, la fonction Exp n'admet qu'un seul
argument. Dans ton application, c'est la fonction power qu'il faut utiliser,
comme te l'indique AV dans le même fil.

Exp(X) = power(e, x) où e est une constante telle que ln(e)=1
(e=2.718282...)

@+



"arnaud" a écrit dans le message de news:
O%
effectivement, pow, c'est l'exposant et sqrt c'est la racine carree.
Le tout me permet de créer ma function VBA

Function CalculD(lat1, lon1, lat2, lon2)
d = 2 * Asin(sqrt(Exp(Sin((lat1 - lat2) / 2), 2) + (Cos(lat1) * Cos(lat2)
*
Exp(Sin((lon1 - lon2) / 2), 2))))
End Function

je vais tester avec vos conseils de remplacement...
Merci ....
Arnaud


a écrit dans le message de news:

Salut,

j'imagine que pow est juste l'exposant.
donc dans ce cas pow(x,2) s'ecrit x^2.
pareil pour sqrt, c'est la racine carree mais l'orthographe n'est pas
la meme donc sqrt(x)=sqr(x) ou x^0.5
Par contre je suis pas sur non plus que asin marche en vba. par contre
il exite atn (arc tangente) et donc :
asin(x)=Atn(x/sqr(1-x^2))
si tu utilises souvent cette fonction, il est peut etre plus lisible
pour tes formules de calcul de la creer..

A +
mehdi

Oliv' (supprimerceci) wrote:
arnaud que je salut a écrit dans
%
Bonjour à tous :
J'ai une formule issu d'un langage de programmation et j'aimerai
réutiliser cette formule sous VBA mais elle ne fonctionne pas :
d = 2*asin( sqrt (pow(sin (($lat1-$lat2)/2),2) + (
cos($lat1)*cos($lat2)*pow( sin(($lon1-$lon2)/2),2) ) ))

VBA n'a pas l'air d'apprecier ma fonction pow !

Merci de votre aide

Arnaud


Si tu nous indiqués à quoi elle sert cette fonction pow ? et sqrt ?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~







Avatar
arnaud
VBA n'a pas voulu de ma fonction POWER, alors vu qu'il s'agit de la
puissance 2 ; j'ai mis a2*a2 !
Système D !
En tout cas, ça marche impeccable !
Merci à tous !
Arnaud



"Yvan95 @free.fr>" <yvan.echange<enlever ceci> a écrit dans le message de
news:
Bonjour tout le monde.

Attention Arnaud! Ne pas confondre la fonction Exp (exponentielle) et la
fonction power (Puissance). D'ailleurs, la fonction Exp n'admet qu'un seul
argument. Dans ton application, c'est la fonction power qu'il faut
utiliser,

comme te l'indique AV dans le même fil.

Exp(X) = power(e, x) où e est une constante telle que ln(e)=1
(e=2.718282...)

@+



"arnaud" a écrit dans le message de news:
O%
effectivement, pow, c'est l'exposant et sqrt c'est la racine carree.
Le tout me permet de créer ma function VBA

Function CalculD(lat1, lon1, lat2, lon2)
d = 2 * Asin(sqrt(Exp(Sin((lat1 - lat2) / 2), 2) + (Cos(lat1) *
Cos(lat2)


*
Exp(Sin((lon1 - lon2) / 2), 2))))
End Function

je vais tester avec vos conseils de remplacement...
Merci ....
Arnaud


a écrit dans le message de news:

Salut,

j'imagine que pow est juste l'exposant.
donc dans ce cas pow(x,2) s'ecrit x^2.
pareil pour sqrt, c'est la racine carree mais l'orthographe n'est pas
la meme donc sqrt(x)=sqr(x) ou x^0.5
Par contre je suis pas sur non plus que asin marche en vba. par contre
il exite atn (arc tangente) et donc :
asin(x)=Atn(x/sqr(1-x^2))
si tu utilises souvent cette fonction, il est peut etre plus lisible
pour tes formules de calcul de la creer..

A +
mehdi

Oliv' (supprimerceci) wrote:
arnaud que je salut a écrit dans
%
Bonjour à tous :
J'ai une formule issu d'un langage de programmation et j'aimerai
réutiliser cette formule sous VBA mais elle ne fonctionne pas :
d = 2*asin( sqrt (pow(sin (($lat1-$lat2)/2),2) + (
cos($lat1)*cos($lat2)*pow( sin(($lon1-$lon2)/2),2) ) ))

VBA n'a pas l'air d'apprecier ma fonction pow !

Merci de votre aide

Arnaud


Si tu nous indiqués à quoi elle sert cette fonction pow ? et sqrt ?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~











Avatar
AV
VBA n'a pas voulu de ma fonction POWER,


Et si tu avais essayé (méthode Evaluate) ce qu'on t'a proposé ?
Pffff...

AV