Accéder au contenu principal

Comment convertir des degrés décimaux en degrés, minutes, secondes dans Excel ?

Author: Sun Last Modified: 2025-05-27

Parfois, vous pouvez avoir une liste de données affichées sous forme de degrés décimaux dans une feuille de calcul, et maintenant vous devez convertir les degrés décimaux en format degrés, minutes et secondes comme le montrent les captures d'écran suivantes. Comment effectuer cette conversion rapidement dans Excel ?

decimal degrees data arrow degrees minutes seconds data

Convertir des degrés décimaux en degrés, minutes, secondes avec VBA

Convertir des degrés, minutes, secondes en degrés décimaux avec VBA


arrow blue right bubble Convertir des degrés décimaux en degrés, minutes, secondes avec VBA

Veuillez suivre les étapes ci-dessous pour convertir des degrés décimaux en degrés, minutes et secondes avec du code VBA.

1. Maintenez le bouton ALT enfoncé et appuyez sur F11 sur le clavier pour ouvrir une fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis copiez le code VBA dans le module.

VBA : Convertir un degré décimal en degrés, minutes et secondes

Sub ConvertDegree()
'Update 20130815
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    num1 = Rng.Value
    num2 = (num1 - Int(num1)) * 60
    num3 = Format((num2 - Int(num2)) * 60, "00")
    Rng.Value = Int(num1) & "°" & Int(num2) & "'" & Int(num3) & "''"
Next
End Sub

3. Cliquez sur le bouton Exécuter ou appuyez sur F5 pour exécuter le code VBA.

4. Une boîte de dialogue s'affiche à l'écran, et vous pouvez sélectionner les cellules que vous souhaitez convertir. Voir la capture d'écran :

vba code to select the data to convert

5. Cliquez sur OK, puis les données sélectionnées sont converties en degrés, minutes et secondes. Voir la capture d'écran :

original data arrow converting result

Astuce : L'utilisation du code VBA ci-dessus entraînera la perte de vos données d'origine, alors il est préférable de copier les données avant d'exécuter le code.



arrow blue right bubble Convertir des degrés, minutes, secondes en degrés décimaux avec VBA

Parfois, vous souhaiterez peut-être convertir des données au format degrés/minutes/secondes en degrés décimaux. Le code VBA suivant peut vous aider à le faire rapidement.

1. Maintenez le bouton ALT enfoncé et appuyez sur F11 sur le clavier pour ouvrir une fenêtre Microsoft Visual Basic for Applications.

2. Cliquez sur Insertion > Module, puis copiez le code VBA dans le module.

VBA : Convertir des degrés, minutes et secondes en degré décimal

Function ConvertDecimal(pInput As String) As Double
'Updateby20140227
Dim xDeg As Double
Dim xMin As Double
Dim xSec As Double
xDeg = Val(Left(pInput, InStr(1, pInput, "°") - 1))
xMin = Val(Mid(pInput, InStr(1, pInput, "°") + 2, _
             InStr(1, pInput, "'") - InStr(1, pInput, _
             "°") - 2)) / 60
xSec = Val(Mid(pInput, InStr(1, pInput, "'") + _
            2, Len(pInput) - InStr(1, pInput, "'") - 2)) _
            / 3600
ConvertDecimal = xDeg + xMin + xSec
End Function

3. Enregistrez le code et fermez la fenêtre, sélectionnez une cellule vide, par exemple, la cellule A1, entrez cette formule =ConvertDecimal("10° 27' 36""") ("10° 27' 36""" représente le degré que vous souhaitez convertir en degré décimal, vous pouvez le modifier selon vos besoins), puis cliquez sur le bouton Entrée. Voir les captures d'écran :

enter the formula arrow result of converting degrees, minutes, seconds to decimal degrees

Articles connexes