Publicité
Tatiak
10 janvier 2022

Distance entre 2 adresses - FRANCE

Pour essayer de répondre à la demande de Sams, voici un fichier qui permet de récupérer la distance et la durée d'un trajet en voiture entre 2 adresses en France.
La méthode utilisée ici interroge 2 sites en OpenData : la base d'adresses en France GOUV.fr et le site de l'IGN.fr
Ce site de l'IGN propose via une API d'indiquer la distance et la durée entre 2 points GPS en voiture.
Mais pour cela il faut disposer des coordonnées GPS des 2 points.
Pour ce faire on interroge alors d'abord la base d'adresses de Gouv.fr qui indique ces coordonnées à partir d'une adresse.
Dans le fichier, on a donc 2 adresses à saisir (en A-E et G-K) pour lire les longitudes/latitudes à partir desquelles l'IGN indique la distance et la durée.

Limites de la méthode :

  •  Ici la base d'adresses gouv.fr indique uniquement et seulement les adresses en France
  •  Le temps de traitement correspond essentiellement au temps de réponse des 2 sites et pour un trajet il y a 3 requêtes à lancer (2 points GPS + distance IGN). Si vous avez de nombreuses lignes à traiter, je recommande donc d'indiquer en E et K les points déjà connus (par des recherches antérieures par exemple) le temps de traitement sera alors largement accéléré.


Et comme toujours, si l'appli correspond à vos besoins, n'oubliez-pas de me laisser un commentaire !

Edit du 27 oct 2022 : en réponse à mannemax, pour obtenir la distance en ligne droite, il suffit d'ajouter la formule (par exemple en P2 puis recopier vers le bas):

=ACOS(SIN(RADIANS(SUBSTITUE(STXT($E2;TROUVE(", ";$E2)+1;20);".";",")*1))*SIN(RADIANS(SUBSTITUE(STXT($K2;TROUVE(", ";$K2)+1;20);".";",")*1))+COS(RADIANS(SUBSTITUE(STXT($E2;TROUVE(", ";$E2)+1;20);".";",")*1))*COS(RADIANS(SUBSTITUE(STXT($K2;TROUVE(", ";$K2)+1;20);".";",")*1))*COS(RADIANS(SUBSTITUE(GAUCHE($E2;TROUVE(", ";$E2)-1);".";",")*1-SUBSTITUE(GAUCHE($K2;TROUVE(", ";$K2)-1);".";",")*1)))*6378,137

 

Capture d’écran 2022-10-27 130240

 

Téléchargement de : Distance_entre_2_adresses.xlsm

Publicité
Commentaires
D
Bonjour, je rencontre des problèmes de calcul sur certaines villes, pour lesquelles le code ne parvient pas à obtenir de résultats.<br /> Avez-vous une idée de la façon de contourner ce problème ?<br /> <br /> Merci
Répondre
T
En fait le code interroge des bases externes : gouv.fr et ign. Si ces bases n'ont pas l'info souhaitée, il n'y a pas de réponse. Nb : ces bases se limitent aux adresses en France.<br /> P.
J
Bonjour, je souhaite utiliser le code sur Macbook, mais cela tourne dans le vide, sans afficher aucun résultat, une idée pour me débloquer ? <br /> Merci
Répondre
T
Bonjour Jérôme,<br /> Ce code n'est pas compatible Mac. Pour débloquer, prenez un PC ;)<br /> Pierre
C
Bonjour,<br /> <br /> Super outils! Je pense que l'api gouv pour l'adresse a subit une MAJ le code ne marchait pas. En changeant seulement le filtre du split de ça T = Split(Txt, "coordinates"": [") vers ça T = Split(Txt, "coordinates"":[") ça fonctionne.
Répondre
M
Bonjour,<br /> <br /> <br /> <br /> je vous remercie pour la mise à disposition de ce bel outil.<br /> <br /> j'utilise fréquemment votre fichier :Distance_entre_2_adresses.xlsm<br /> <br /> auriez vous la possibilité d'ajouter la distance à vol d'oiseau?<br /> <br /> Par avance merci
Répondre
M
Bravo et Merci !!!!<br /> <br /> <br /> <br /> Ca fait pas mal de temps que je cherchais un outil de ce type
Répondre
Publicité