Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Degrés décimaux en degrés minutes secondes

3 réponses
Avatar
Gaspareau
Bonjour à tous

Avec l'aide de Google j'ai trouvé cette fonction qui fait le travail requis

Function Degrés_mm_ss(Degrés)
Degrés_mm_ss = Application.Application.Floor(Degrés, 1) & ": " & _
Application.Application.Floor((Degrés -
Application.Application.Floor(Degrés, 1)) * 60, 1) & _
": " & _
(Degrés - (Application.Application.Floor(Degrés, 1) +
Application.Application.Floor _
((Degrés - Application.Application.Floor(Degrés, 1)) * 60, 1) / 60)) * 3600
& ": "
End Function


Sauf que le résultat final est sous le format

72: 7: 56.2651212000105:

alors que j'ai besoin plutôt de
72.07562651212000105
À noter je voudrais avoir 2 digit pour les minutes
Dans mon exemple, il y a 7 minutes et je voudrais avoir 07
Bref écrit comme des degrés décimaux mais où on comprend
que les 2 premières décimales sont les minutes et les suivantes les secondes
et fractions de secondes

Merci beaucoup

3 réponses

Avatar
Modeste
Bonsour® Gaspareau avec ferveur ;o))) vous nous disiez :

Avec l'aide de Google j'ai trouvé cette fonction qui fait le travail requis
Function Degrés_mm_ss(Degrés)
Degrés_mm_ss = Application.Application.Floor(Degrés, 1) & ": " & _
Application.Application.Floor((Degrés -
Application.Application.Floor(Degrés, 1)) * 60, 1) & _
": " & _
(Degrés - (Application.Application.Floor(Degrés, 1) +
Application.Application.Floor _
((Degrés - Application.Application.Floor(Degrés, 1)) * 60, 1) / 60))
* 3600 & ": "
End Function
Sauf que le résultat final est sous le format
72: 7: 56.2651212000105:
alors que j'ai besoin plutôt de
72.07562651212000105
À noter je voudrais avoir 2 digit pour les minutes
Dans mon exemple, il y a 7 minutes et je voudrais avoir 07
Bref écrit comme des degrés décimaux mais où on comprend
que les 2 premières décimales sont les minutes et les suivantes les
secondes et fractions de secondes


http://xlwiki.free.fr/wiki/wakka.php?wiki=HeuRes

Calcul sur les angles
Il existe deux façons de faire : décimale ou sexagésimale

représentation décimalereprésentation sexagésimale
10,50 H 10:30
45,25 degré 45°15'
La méthode décimale permet les calculs mathématiques standard .
Cependant la méthode décimale ne permet pas directement d'utiliser le symbolisme
angulaire : 45°15' 20''

La méthode séxagésimale utilise le codage interne EXCEL propre aux dates et
heures.
Saisir la valeur 0.25 est interprété par EXCEL comme le quart d'une journée soit
6h
cette méthode utilisant le codage interne des représentations horaires permet
également tous les calculs mathématiques standards
Cependant pour afficher cette valeur en tant que "horaire" il faut utiliser un
format heure : hh:mm:ss

Pour afficher cette valeur en notation angulaire on utilisera un format
personnalisé permettant l'affichage :
d'angle supérieur à 24°
symbolisme minute = '
symbolisme seconde = ''

on peut alors utiliser le symbolisme angulaire : 45°15' 20''
Format : [h]"° "mm"' "ss"'' "

Quelques remarques :
Pour utiliser la saisie séxagésimale ,
il faut saisir les valeurs angulaires sous la forme :
degre : minute : seconde
qui est identique au format de saisie horaire :
hh : mm : ss

Pour passer d'un format décimal en A2 à un format séxagésimal en B2,
il faut utiliser le coefficient de conversion : 1 degré = 1 heure
qui peut s'écrire :
B2¢/24
ou
B2¢*"1:"
Inversement, pour passer d'un format séxagésimal en B2 à un format décimal en C2
C2²*24
ou
C2²/"1:"

--
--
@+
;o)))

Avatar
Gaspareau
Merci pour la réponse mais ce n'est pas tout à fait ce que je veux ou bien
je ne comprend pas

Voici: Dans un fichier j'ai une colonne complète de coordonnées sous forme
décimale
exemple : 65.69780987...
Je dois transférer les données dans un autre logiciel expert en arpentage
qui lui
(va savoir pourquoi) prend les coordonnées sous forme DMS mais dans le
format:
34.4556789676 où le logiciel en question comprend que les 2 premiers
chiffres
sont les angles, suivi d'un point ou une virgule, suivi des deux chiffres
indiquant les minutes,
suivi des autres indiquant les secondes et fractions de secondes
Avec la fonction que j'ai trouvée, je réussi à faire le travail sauf lorsque
les minutes
n'ont un seul chiffres soit lorsque j'ai de 0 à 9 minutes.
À ce moment, j'ai exemple 34.902 au lieu de 34.0902
Je voudrais donc savoir comment le forcer à me donner les 2 "digits" lorsque
requis

Est-ce possible ?

Voic la fonction modifiée

Function Degrés_mm_ss(Degrés)
Degrés_mm_ss = Application.Application.Floor(Degrés, 1) & "," & _
Application.Application.Floor((Degrés -
Application.Application.Floor(Degrés, 1)) * 60, 1) & _
"" & _
(Degrés - (Application.Application.Floor(Degrés, 1) +
Application.Application.Floor _
((Degrés - Application.Application.Floor(Degrés, 1)) * 60, 1) / 60)) * 3600
& ""
End Function

MErci encore


"Modeste" a écrit dans le message de news:

Bonsour® Gaspareau avec ferveur ;o))) vous nous disiez :

Avec l'aide de Google j'ai trouvé cette fonction qui fait le travail
requis Function Degrés_mm_ss(Degrés)
Degrés_mm_ss = Application.Application.Floor(Degrés, 1) & ": " & _
Application.Application.Floor((Degrés -
Application.Application.Floor(Degrés, 1)) * 60, 1) & _
": " & _
(Degrés - (Application.Application.Floor(Degrés, 1) +
Application.Application.Floor _
((Degrés - Application.Application.Floor(Degrés, 1)) * 60, 1) / 60))
* 3600 & ": "
End Function
Sauf que le résultat final est sous le format
72: 7: 56.2651212000105:
alors que j'ai besoin plutôt de
72.07562651212000105
À noter je voudrais avoir 2 digit pour les minutes
Dans mon exemple, il y a 7 minutes et je voudrais avoir 07
Bref écrit comme des degrés décimaux mais où on comprend
que les 2 premières décimales sont les minutes et les suivantes les
secondes et fractions de secondes


http://xlwiki.free.fr/wiki/wakka.php?wiki=HeuRes

Calcul sur les angles
Il existe deux façons de faire : décimale ou sexagésimale

représentation décimalereprésentation sexagésimale
10,50 H 10:30
45,25 degré 45°15'
La méthode décimale permet les calculs mathématiques standard .
Cependant la méthode décimale ne permet pas directement d'utiliser le
symbolisme angulaire : 45°15' 20''

La méthode séxagésimale utilise le codage interne EXCEL propre aux dates
et heures.
Saisir la valeur 0.25 est interprété par EXCEL comme le quart d'une
journée soit 6h
cette méthode utilisant le codage interne des représentations horaires
permet également tous les calculs mathématiques standards
Cependant pour afficher cette valeur en tant que "horaire" il faut
utiliser un format heure : hh:mm:ss

Pour afficher cette valeur en notation angulaire on utilisera un format
personnalisé permettant l'affichage :
d'angle supérieur à 24°
symbolisme minute = '
symbolisme seconde = ''

on peut alors utiliser le symbolisme angulaire : 45°15' 20''
Format : [h]"° "mm"' "ss"'' "

Quelques remarques :
Pour utiliser la saisie séxagésimale ,
il faut saisir les valeurs angulaires sous la forme :
degre : minute : seconde
qui est identique au format de saisie horaire :
hh : mm : ss

Pour passer d'un format décimal en A2 à un format séxagésimal en B2,
il faut utiliser le coefficient de conversion : 1 degré = 1 heure
qui peut s'écrire :
B2¢/24
ou
B2¢*"1:"
Inversement, pour passer d'un format séxagésimal en B2 à un format décimal
en C2
C2²*24
ou
C2²/"1:"

--
--
@+
;o)))




Avatar
Modeste
Bonsour® Gaspareau avec ferveur ;o))) vous nous disiez :

je ne comprend pas

exemple : 65.69780987...
sous forme DMS mais dans le format:

34.4556789676
????????????????????????????????


les angles, suivi d'un point ou une virgule, suivi des deux
chiffres indiquant les minutes,
suivi des autres indiquant les secondes et fractions de secondes

Est-ce possible ?

Sauf que le résultat final est sous le format
72: 7: 56.2651212000105:
alors que j'ai besoin plutôt de
72.07562651212000105




A1 = 65,69780987
A2¡*"1:"
format [h].mmss,000
affichage : 65.4152,116
le résultat est un nombre (2,737408744583330) avec un format d'affichage

ou encore autrement

A1r,1322958
A2=SUBSTITUE(TEXTE(A1*"1:";"[h].mmss,000");",";"")
affichage : 72.0756265
le resultat est un texte

avec cette méthode Excel ne saura pas aller au-dela de ces 9 chiffres
significatif
qui correspond dans ce cas (GPS) à une précision de l'ordre de 50cm





-
--
@+
;o)))