KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

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

AuteurSun Date de modification

Vous disposez parfois d’une liste de données exprimées en degrés décimaux dans une feuille de calcul et devez désormais les convertir au format degrés, minutes et secondes, comme illustré dans les captures d’écran suivantes. Comment effectuer rapidement cette conversion dans Excel ?

données en degrés décimauxflèchedonnées en degrés minutes secondes

Convertir des degrés décimaux en degrés, minutes, secondes à l’aide de VBA

Convertir des degrés, minutes, secondes en degrés décimaux à l’aide de VBA


flèche bleue vers la droite avec bulle Convertir des degrés décimaux en degrés, minutes, secondes à l’aide de VBA

Veuillez suivre les étapes ci-dessous pour convertir des degrés décimaux en degrés, minutes et secondes à l’aide d’un code VBA.

1. Maintenez la touche ALT enfoncée et appuyez sur F11 pour ouvrir une fenêtre Microsoft Visual Basic pour 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, vous permettant de sélectionner les cellules à convertir. Voir la capture d’écran :

code VBA pour sélectionner les données à convertir

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

données d'origineflècherésultat de la conversion

Conseil : Le code VBA ci-dessus remplace vos données d’origine. Pensez donc à en faire une copie avant de l’exécuter.



flèche bleue vers la droite avec bulle Convertir des degrés, minutes, secondes en degrés décimaux à l’aide de VBA

Vous souhaitez parfois convertir des données du format degrés/minutes/secondes en degrés décimaux ? Le code VBA suivant vous permet de le faire en un clin d’œil.

1. Maintenez la touche ALT enfoncée et appuyez sur F11 pour ouvrir une fenêtre Microsoft Visual Basic pour Applications.

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

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

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 cette fenêtre. Sélectionnez une cellule vide, par exemple la cellule A1, saisissez la formule suivante :=ConvertDecimal(«10° 27' 36»«») (« 10° 27' 36" » représente le degré que vous souhaitez convertir en degré décimal ; vous pouvez l’adapter selon vos besoins), puis appuyez sur la touche Entrée. Consultez les captures d’écran :

saisir la formuleflècherésultat de la conversion des degrés, minutes et secondes en degrés décimaux

Articles associés