Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 distance entre 2 villes/communes de France

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,

Je vous souhaite un très bon et beau WE

Je reviens pour un besoin de calculs de distances entre 2 villes
Mon besoin est :
- calculs uniquement en France.
- juste ville (sans adresse),

Ce sujet a été traité X fois sur le forum et ailleurs.
Mais il semble qu'avec google ça ne marche plus et le code que j'avais de Pierre (je crois LOL) ne fonctionne plus non plus.

Mes recherches sur le net n'ont pas abouti.

Quelqu'un aurait-il une solution avec Michelin peut-être ?

J'ai téléchargé un classeur qui semble fonctionner avec MapPoint mais je ne peux pas le tester car il me manque l'object "MapPoint.Application" et je ne sais pas comment l'intégrer.
Je joins également le classeur.

Je joins mon classeur
Avec mes remerciements,
amicalement,
arthour973,
 

Pièces jointes

  • Distances_Formules.xlsm
    22.9 KB · Affichages: 44
  • Outil MapPoint-Version1.xls
    402 KB · Affichages: 34
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour Lionel,

La solution lambda consiste à se doter d'une liste des communes avec les coordonnée géographiques du centre ville.

La distance entre 2 villes se calcule par une formule classique de trigonométrie (sphérique).

Bonne journée.
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Gérard, le Forum;
Bon dimanche à toutes et à tous,

Merci encore une fois d"être là mais :
"formule classique de trigonométrie (sphérique)" ???
Je la connais de nom LOL mais jamais flirté avec cette bêcheuse et bien incapable d'entamer une quelconque relation avec elle

Je suis donc allé rechercher sur le net pour tenter de trouver des exemple sde classeurs excel utilisant ses services et je n'ai pas trouvé (peut-être ai-je mal cherché LOL)

Mais grâce à Pierre qui travaille beaucoup sur les données des communes de France, j'ai un fichier qui me sert pour trouver les communes autour d'une commune km 0 dans un rayon de km choisis.

Ce fichier (j'espère que Pierre ne m'en voudra pas de le joindre) contient les données géographiques gps de chaque ville.
Je joins le fichier de Pierre et ..... je continue de voir si je peux trouver' des exemple sur le net.
J'ai aussi un classeur' que j'avais fait il y a qq temps sous csv avec communes et données gps

Avec mes remerciements,
arthour973,
 

Pièces jointes

  • geoflar-communes-2016_light.txt
    3.6 MB · Affichages: 39
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
et je n'ai pas trouvé (peut-être ai-je mal cherché LOL...)
http://www.cpearson.com/Excel/latlong.aspx
VB:
The following VBA code will calculate a Great Circle Distance in either Kilometers or Miles (as specified in theResultAsMiles parameter -- True indicates Miles, False indicates Kilometers). The inputs may be either decimal degrees or time-format values. (Set the ValuesAsDecimalDegrees parameter to True for decimal degrees, False for Time degrees.)

Option Explicit
Private Const C_RADIUS_EARTH_KM As Double = 6370.97327862
Private Const C_RADIUS_EARTH_MI As Double = 3958.73926185
Private Const C_PI As Double = 3.14159265358979
Function GreatCircleDistance(Latitude1 As Double, Longitude1 As Double, _
            Latitude2 As Double, Longitude2 As Double, _
            ValuesAsDecimalDegrees As Boolean, _
            ResultAsMiles As Boolean) As Double
Dim Lat1 As Double, Lat2 As Double, Long1 As Double, Long2 As Double
Dim X As Long
Dim Delta As Double
If ValuesAsDecimalDegrees = True Then
X = 1
Else
X = 24
End If
' convert to decimal degrees
Lat1 = Latitude1 * X
Long1 = Longitude1 * X
Lat2 = Latitude2 * X
Long2 = Longitude2 * X
' convert to radians: radians = (degrees/180) * PI
Lat1 = (Lat1 / 180) * C_PI
Lat2 = (Lat2 / 180) * C_PI
Long1 = (Long1 / 180) * C_PI
Long2 = (Long2 / 180) * C_PI
' get the central spherical angle
Delta = ((2 * WorksheetFunction.Asin(Sqr((Sin((Lat1 - Lat2) / 2) ^ 2) + _
    Cos(Lat1) * Cos(Lat2) * (Sin((Long1 - Long2) / 2) ^ 2)))))
If ResultAsMiles = True Then
    GreatCircleDistance = Delta * C_RADIUS_EARTH_MI
Else
    GreatCircleDistance = Delta * C_RADIUS_EARTH_KM
End If
End Function
 
Dernière édition:

job75

XLDnaute Barbatruc
Pour la formule de trigonométrie il suffit de chercher un peu :

http://ressources.univ-lemans.fr/AccesLibre/UM/Pedago/physique/02/divers/trigospherique.html
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Ce lien n'existe plus

Effectivement, j'avais mal cherché et pourtant j'ai cherché

Merci pour cette fonction ... je vais tester et je te dirai

Merci aussi Gérard pourtant j'ai cherché

Je vais voir tout ça et je reviens
amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Pierre,

Merci de me répondre sur ce post.
Effectivement, j'ai bien le classeur et j'ai vu la fonction dans accueil.
Mais je ne sais pas la faire fonctionner
Je sais ..... LOl mais je n'y arrive pas.
amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Ce lien n'existe plus
Le Forum

Bonjour Pierre : effectivement ça marche en 32bytes
Mais si ça pouvait marcher en 64 ça m'arrangerait >LOL.

Merci Modeste pour avoir joint cette photo

Je suppose que je dois inclure cette formule "quelque part" LOL
Ou modifier un truc ?
Mais je ne vois pas où ?
Amicalement,
arthour973,
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re-Bonjour Ce lien n'existe plus,
J'ai fini par comprendre en prenant la fonction dans le précédent message et ça fonctionne.
Un grand merci

Je vais m'attaquer à la fonction de Pierre.
Un grand merci aussi pour tout ce que tu as fait
amicalement,
Lionel,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…