Conversion ...

Caponord38

XLDnaute Junior
Bonjour les XLDiens et les XLDiennes, :)
Existe-t-il une formule pour convertir des Degrés décimaux en Degrès-Minutes-Secondes :whistle:
Je m'explique:
j'ai des coordonnées du type Latitude et Longitude mais ces coordonnées sont en degrès decimales du type 46,083333
Je voudrais les convertir en Degrès Minutes Secondes meme si le résultat s'affiche du gendre 26,302512 se qui fait 26 Degrès 30 Minutes 25 Secondes et 12 Centièmes. J'espère avoir été suffisamment clair.
Merci d'avance
 

jeanpierre

Nous a quitté
Repose en paix
Bonjour Caponord38, le Forum,

Sans trop réfléchir, (X-ENT(X))*60 pour les minutes d'arc, pareil pour les secondes. Donc trois extractions.

On peut, sans doute faire mieux...

C'est ce que j'utilise depuis près de quinze ans.... s'il n'y a pas une erreur dans cette réponse en direct, sans essai, sans excel...

Sinon le Zop.....

une bonne fin d'après-midi.

Jean-Pierre

Message édité par: jeanpierre, à: 29/08/2005 16:30
 

Caponord38

XLDnaute Junior
Bonjour le forum,
Bonjour eaquued, jeanpierre et Sylvie
Merci pour vos réponses.
- Pour la précision demandé par eaquued la réponse est dans ta question. Avec ce type de reponse 26.302512 pour moi c'est suffisant je me débrouillerais avec le reste.
- Pour jeanpierre j'ai fait l'essai et ca fonctionne mais quand j'ai un affichage 46.15 lors de la première conversion il me sors bien 9 mais comme je vais jusqu'à la seconde et le dixième ou le centième de seconde par recopie de la formule il me 60 pour les secondes. Là c'est une drole de réaction. Si je ne me trompe pas (9-ent(9))*60 ca doit faire 0. Mais bon je peux m'en sortir sans problème.
- Pour Sylvie je vais essayer le fichier de Ti et je ne manquerais pas de vous tenir au courant

En tout cas merci et chapeau pour la réactivité
 

Caponord38

XLDnaute Junior
Bonsoir les Xldiens et les Xldiennes,
Bonsoir eaquued, Jeanpierre et Sylvie,
re bonsoir tout le monde après tout ce silence, mais changement de boulot et problème pour faire avancer mon projet de M....
J'ai appliquer la formule de TI super ça a marché merci Sylvie je te fais une grosse bise par internet :))
En utilisant la formule de TI j'ai compris le résultat bizzarre que j'avais avec le calcul que tu m'as proposé jeanpierre: arrondi sur arrondi le resultat se melange un peu les pinceaux. Merci à toi pour la formule.

Maintenant Je vous explique mon problème.
J'ai un classeur contenant 3 feuilles:
- 1 s'appelant 'Ville' avec 35250 lignes et 9 colonnes
- 1 s'appelant 'Insee' avec 38956 lignes et 5 colonnes
- 1 s'appelant 'Global' qui contiendra 38956 lignes et 10 colonnes
Voici le code de ma macro:
Sub Macro1()
Dim i As Long
Dim j As Long
Dim z As Long
i = 2
j = 2
z = 2
While j < 38648
If Sheets('ville').Range('A' & i).Value = Sheets('insee').Range('A' & j).Value Then
Sheets('Global').Range('A' & j) = Sheets('insee').Range('A' & j).Value
Sheets('Global').Range('B' & j) = Sheets('insee').Range('B' & j).Value
Sheets('Global').Range('C' & j) = Sheets('ville').Range('C' & i).Value
Sheets('Global').Range('D' & j) = Sheets('insee').Range('D' & j).Value
Sheets('Global').Range('E' & j) = Sheets('insee').Range('E' & j).Value
Sheets('Global').Range('F' & j) = Sheets('ville').Range('F' & i).Value
Sheets('Global').Range('G' & j) = Sheets('ville').Range('G' & i).Value
Sheets('Global').Range('H' & j) = Sheets('ville').Range('H' & i).Value
Sheets('Global').Range('I' & j) = Sheets('ville').Range('I' & i).Value
Sheets('Global').Range('J' & j) = Sheets('ville').Range('J' & i).Value
i = i + 1
If i = 27671 Then MsgBox ('i=' & i & ', j=' & j)
Else
If Sheets('ville').Range('A' & i).Value <> Sheets('insee').Range('A' & j).Value Then
Sheets('Global').Range('A' & j) = Sheets('insee').Range('A' & j).Value
Sheets('Global').Range('B' & j) = Sheets('insee').Range('B' & j).Value
Sheets('Global').Range('C' & j) = Sheets('insee').Range('C' & j).Value
Sheets('Global').Range('D' & j) = Sheets('insee').Range('D' & j).Value
Sheets('Global').Range('E' & j) = Sheets('insee').Range('E' & j).Value
End If
End If
j = j + 1
Wend

For z = 38648 To 38956
Sheets('Global').Range('A' & z) = Sheets('insee').Range('A' & z).Value
Sheets('Global').Range('B' & z) = Sheets('insee').Range('B' & z).Value
Sheets('Global').Range('C' & z) = Sheets('insee').Range('C' & z).Value
Sheets('Global').Range('D' & z) = Sheets('insee').Range('D' & z).Value
Sheets('Global').Range('E' & z) = Sheets('insee').Range('E' & z).Value
Next z

MsgBox ('i=' & i & ', j=' & j & ', z=' & z)
End Sub
Cette macro devrais, en théorie, me créer le contenu de la feuille 'Global' contenant des valeurs contenues dans chacunes des feuilles 'Ville' et 'Insee'.
Dans la feuille 'Ville' il y a 35250 lignes mais avec ma macro la valeur maximum de i ne depasse pas 27671.
Donc la feuille 'Global' ne se remplit pas correctement.
Je n'y comprends strictement rien.

Je ne peux pas vous joindre le fichier Excel car il fait 18Mo.
Quand i=27671 j=30289

Si vous arrivez à m'expliquer le Pb ce serait super car j'en perds mon latin
Merci d'avance

Oups:
Bonjour tout le monde.
J'ai oublié de vous expliquer le pourquoi du fichier joint.
Voici un extrait de ma feuille Excel avec l'endroit ou la variable i reste bloquée à 27671

[file name=ExtraitCP.zip size=6145]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ExtraitCP.zip[/file]

Message édité par: Caponord38, à: 24/09/2005 10:48
 

Pièces jointes

  • ExtraitCP.zip
    6 KB · Affichages: 31

Discussions similaires

Statistiques des forums

Discussions
312 396
Messages
2 088 048
Membres
103 707
dernier inscrit
Papy60