Convertisseur degrés/minutes/secondes <> degrés décimaux

Description

Ce programme permet de convertir des données de positions géographiques qui sont en Degrés/Minutes/Scondes vers des Degrés décimaux et vice versa.

Source / Exemple :


'Ce programme est composé de 3 fenêtres dont les codes sources sont les suivants :
'Première feuille
'__________________
'Alain LE GALLOU
'04/11/01
'modifie le 18/11/01
'convertisseur : Page d'accueil

Private Sub cmddddms_Click()
       'on charge le convertiseeur dd -> dms
       frmdddms.Show
End Sub

Private Sub cmddmsdd_Click()
    'on charge le convertiseeur dms -> dd
    frmdmsdd.Show
End Sub

Private Sub cmdfin_Click()
    ' fin de l'application
    End
End Sub

'Deuxième feuille
'__________________
'Alain LE GALLOU
'04/11/01
'modifie le 18/11/01
'conversion de données dd en dms

Option Explicit
Dim decim As Single
Dim rep As String    'le resultat est la concaténation de sigles et de variables
Dim d As Integer     ' variable pour les degrés
Dim m As Integer     ' idem pour les minutes
Dim s As Integer     ' idem pour les secondes

Private Sub cmdcalc2_Click()
    ' attention des erreurs d'arrondis peuvent apparaître
    ' le résultat est fiable à + ou - 1 seconde
    
    d = Int(decim)              'on recup la partie entière de decim
    m = Int((decim - d) * 60)   'on recup la partie entière de la multiplication du reste * 60
    s = Int((((decim - d) * 60) - m) * 60) 'on recup la partie entière de la multiplication du reste * 60
    rep = (d & "°" & m & "'" & s & "''")   'le resultat correspond à d degrés m minutes et s secondes
    txtrep2.Text = rep          ' la réponse est placé dans la 2eme textbox
End Sub
   
Private Sub cmdexit_Click()
    'on retourne à l'accueil
    Unload Me
    frmaccueil.Show
End Sub

Private Sub txtdecim_Change()
    ' on lit la valeur decimale entree par l'utilisateur
    decim = txtdecim.Text
End Sub

'Troisième feuille
'___________________
' Alain LE GALLOU
' 04/11/01
' modifie le 18/11/01
' conversion de données dms en dd
' algorithme de Jérôme Gautier

Option Explicit
Dim deg As Integer  'variable pour les degrés
Dim min As Integer  'variable pour les minutes
Dim sec As Integer  'variable pour les secondes
Dim rep As Single   'variable pour la réponse

Private Sub cmdcalc_Click()
   'on fait la conversion et on place la reponse dans la 4eme textbox
   rep = deg + min / 60 + sec / 3600
   txtrep.Text = rep
End Sub

Private Sub cmdquit_Click()
    ' retour à l'accueil
    Unload Me
    frmaccueil.Show
End Sub

Private Sub txtdeg_Change()
    'on lit la valeur en degrés donnée par l'utilisateur
    deg = txtdeg.Text
End Sub

Private Sub txtmin_Change()
    'on lit la valeur en minutes donnée par l'utilisateur
    min = txtmin.Text
End Sub

Private Sub txtsec_Change()
    'on lit la valeur en secondes donnée par l'utilisateur
    sec = txtsec.Text
End Sub

Conclusion :


Le code n'est pas optimisé. Il n'est peut-être pas très bien écrit mais c'était un de mes premiers programmes en VB.

Je vous demande juste de m'envoyer un message pour me dire si vous utilisez ce programme sinon, j'autorise à tout le monde de l'utiliser dans un but non lucratif.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.