#1 Tue 25 March 2008 18:06
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
ArcView 9.2 SP4 - Syntax de la fonction acos() en VBA?
Bonjour,
C'est une simple mais pourtant sans solution pour le moment !
Quelle est la syntaxe de la fonction acos() dans un code VBA, pour mettre à jour un champ?
Hors ligne
#2 Wed 26 March 2008 11:50
Re: ArcView 9.2 SP4 - Syntax de la fonction acos() en VBA?
Voila un pack de fonction bien utile en VBA :
Code:
'------------------------------------------------------------------------------------- Function PI() As Double PI = Atn(1) * 4 End Function '------------------------------------------------------------------------------------- Function Rad2Deg(X As Double) As Double 'Conversion de Radians en Degrés Rad2Deg = X / PI() * 180 End Function '------------------------------------------------------------------------------------- Function ArcCos(X As Double) As Double 'Inverse du Cosinus If X = 1 Then ArcCos = 0 ElseIf X = -1 Then ArcCos = -PI() Else ArcCos = Atn(X / Sqr(-X * X + 1)) + PI() / 2 End If End Function '------------------------------------------------------------------------------------- Function ArcSin(X As Double) As Double 'Inverse du Sinus If X = 1 Then ArcSin = PI() / 2 ElseIf X = -1 Then ArcSin = -PI() / 2 Else ArcSin = Atn(X / Sqr(-X * X + 1)) End If End Function '-------------------------------------------------------------------------------------
[Matthieu Pette - Ad Terram] (@Ad_Terram sur le PiouPiou bleu)
~Géomaticien Indépendant~
Hors ligne
#3 Wed 26 March 2008 14:57
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
Re: ArcView 9.2 SP4 - Syntax de la fonction acos() en VBA?
Merci !
Toutefois, pour la function ArcCos, c'est :
Code:
Function ArcCos(X As Double) As Double 'Inverse du Cosinus If X = 1 Then ArcCos = 0 ElseIf X = -1 Then ArcCos = -PI() Else ArcCos = Atn(-X / Sqr(-X * X + 1)) + PI() / 2 End If End Function
Avec un signe - juste après le Atn(-X...
J'ai cherché un peu sur le web car mes résultats ne collaient pas.
Hors ligne