#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 FunctionAvec 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


