Comment faire pour convertir des angles décimaux en degrés/minutes/secondes et inversement dans Excel 2000

Numéro d'article: 213449 - Voir les produits auxquels s'applique cet article
Pour vous procurer une version Microsoft Excel 97 de cet article, reportez-vous à l'article 121944.

Pour vous procurer une version Microsoft Excel 98 de cet article, reportez-vous à l'article 192367.
Agrandir tout | Réduire tout

Sommaire

Résumé

Les mesures des angles sont généralement exprimées en degrés, minutes et secondes (DMS). Un degré est égal à 60 minutes et une minute est égale à 60 secondes. Pour simplifier certains calculs mathématiques, vous préférerez peut-être exprimer les mesures d'angles en degrés et fractions décimales de degrés.

Cet article contient un exemple de fonction personnalisée qui vous permet de convertir une valeur en degrés stockée au forme décimal en valeur DMS stockée au format texte, de même qu'un exemple de fonction qui convertit une valeur DMS en valeur en degrés stockée au format décimal.

Plus d'informations

Microsoft fournit des exemples de programmation à des fins d'illustration uniquement, sans garantie explicite ou implicite, y compris, de manière non limitative, les garanties implicites de qualité marchande et/ou d'adéquation à un usage particulier. Cet article suppose que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d'une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques. Si vous ne maîtrisez que partiellement la programmation, vous pouvez contacter un partenaire certifié Microsoft ou le service client Microsoft au Numero indique a la page http://support.microsoft.com/contactus/ qui pourra transmettre votre demande de consulting aux équipes Microsoft appropriées. Pour plus d'informations sur les partenaires certifiés Microsoft (Microsoft Certified Partners), reportez-vous au site Web de Microsoft à l'adresse suivante :
https://partner.microsoft.com/global/30000104
Pour plus d'informations sur les options de support technique disponibles et la façon de faire pour contacter Microsoft, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://support.microsoft.com/default.aspx?scid=fh;FR;ASSISTEDOVER

Conversion de degrés décimaux en degrés/minutes/secondes

La fonction personnalisée Microsoft Visual Basic pour Applications suivante convertit un angle exprimé sous forme de valeur décimale en une valeur texte affichée sous forme de degrés, minutes et secondes.

Function Convert_Degree(Decimal_Deg) As Variant
    With Application
        'Set degree to Integer of Argument Passed
        Degrees = Int(Decimal_Deg)
        'Set minutes to 60 times the number to the right
        'of the decimal for the variable Decimal_Deg
        Minutes = (Decimal_Deg - Degrees) * 60
        'Set seconds to 60 times the number to the right of the
        'decimal for the variable Minute
        Seconds = Format(((Minutes - Int(Minutes)) * 60), "0")
        'Returns the Result of degree conversion
       '(for example, 10.46 = 10~ 27  ' 36")
        Convert_Degree = " " & Degrees & "° " & Int(Minutes) & "' " _
            & Seconds + Chr(34)
    End With
End Function
				
Pour utiliser cette fonction, créez une formule de conversion, comme dans l'exemple suivant :
  1. Démarrez Excel puis appuyez sur ALT+F11 pour démarrer Visual Basic Editor.
  2. Dans le menu Insertion, cliquez sur Module.
  3. Entrez l'exemple de code pour la fonction personnalisée Convert_Degree décrite ci-dessus dans la feuille de module.
  4. Appuyez sur ALT+F11 pour revenir dans Excel.
  5. Dans la cellule A1, tapez 10.46.
  6. Dans la cellule A2, tapez la formule suivante :
    =Convert_Degree(A1)


    La formule renvoie 10°27'36".

Conversion de degrés/minutes/secondes en degrés décimaux

La fonction personnalisée Microsoft Visual Basic pour Applications suivante convertit une chaîne de texte de degrés, minutes et secondes utilisant exactement le même format que celui renvoyé par la fonction Convert_Degree (par exemple, 10° 27' 36") en un angle exprimé sous forme de valeur décimale. Elle effectue donc l'opération inverse de la fonction personnalisée Convert_Degree.

AVERTISSEMENT : cette fonction personnalisée échoue si l'argument Degree_Deg n'utilise pas le format
<degrés>° <minutes>' <secondes>"
et ce, même si la valeur des secondes est égale à 0.
Function Convert_Decimal(Degree_Deg As String) As Double
   ' Declare the variables to be double precision floating-point.
   Dim degrees As Double
   Dim minutes As Double
   Dim seconds As Double
   ' Set degree to value before "°" of Argument Passed.
   degrees = Val(Left(Degree_Deg, InStr(1, Degree_Deg, "°") - 1))
   ' Set minutes to the value between the "°" and the "'"
   ' of the text string for the variable Degree_Deg divided by
   ' 60. The Val function converts the text string to a number.
   minutes = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "°") + 2, _
             InStr(1, Degree_Deg, "'") - InStr(1, Degree_Deg, _
             "°") - 2)) / 60
    ' Set seconds to the number to the right of "'" that is
    ' converted to a value and then divided by 3600.
    seconds = Val(Mid(Degree_Deg, InStr(1, Degree_Deg, "'") + _
            2, Len(Degree_Deg) - InStr(1, Degree_Deg, "'") - 2)) _
            / 3600
   Convert_Decimal = degrees + minutes + seconds
End Function
				
Pour utiliser cette fonction, créez une formule de conversion, comme dans l'exemple suivant :
  1. Démarrez Excel puis appuyez sur ALT+F11 pour démarrer Visual Basic Editor.
  2. Dans le menu Insertion, cliquez sur Module.
  3. Entrez l'exemple de code pour la fonction personnalisée Convert_Decimal décrite ci-dessus dans la feuille de module.
  4. Appuyez sur ALT+F11 pour revenir dans Excel.
  5. Dans la cellule A1, tapez la formule suivante :
    =Convert_Decimal("10° 27' 36""")
    REMARQUE : vous devez taper trois guillemets (""") à la fin de l'argument de cette formule pour tenir compte des guillemets pour les secondes et la chaîne de texte, respectivement. Une référence de cellule ne requiert pas de guillemets.
  6. La formule renvoie 10.46.

Propriétés

Numéro d'article: 213449 - Dernière mise à jour: mardi 9 avril 2013 - Version: 4.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Excel 2000 Standard
Mots-clés : 
kbfunctions kbconvert kbsample kbdtacode kbhowto kbprogramming KB213449
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires