Je souhaite créer une macro utilisant google maps pour calculer la distance (via la route, et non à vol d'oiseau) entre deux villes ;
Disons que j'ai le nom ou code postal (ce qui rend la chose la plus simple!) de la première ville en A1 et le nom ou code postal de la seconde ville en A2.
Comment faire pour afficher la distance entre les deux en A3 ?
Ah d'accord, merci. Je viens de tester ça, Ca commence à 128-0, mais les 128 premières ligens n'ont pas de distances ni de temps qui s'affichent quand même
Bonjour à tous, je ressors cette discussion car j'aurais besoin d'une info complémentaire qui sauf erreur de ma part ne s'y trouve pas.
Dans le fichier un peu plus haut calculdomicile_travail.xlsx on trouve 2 formules :
qui permettent de calculer facilement la distance entre 2 villes dans googlemaps.
Peut-on modifier le chemin et les formules pour obtenir le temps nécessaire en voiture ?
Bon finalement, j'ai fini par trouver... !
Il suffit dans la 2ème formule de substituer "distance" par "duration" et de remplacer 1000 par 3600 pour obtenir le temps en heures
J'ai parcouru la discussion avec un intérêt énorme !
En effet, j'aimerais pouvoir disposer d'un tel calcul dans excel (calcul de km d'adresse exacte à adresse exacte).
J'ai essayé les différents fichiers mais rien ne semble fonctionner chez moi... on dirait clairement que Excel n'arrive pas à faire la requête sur Google Maps.. Est-ce que je dois paramétrer quelque chose dans mon Office Excel (365) ??
Merci d'avance pour votre retour et désolé si c'est une question déjà posée.. je n'ai pas trouvé
Tout d'abord merci pour ce partage.
Je rencontre des difficultés avec certains calculs de distance. Les résultats sont erronnés et je n'arrive pas à savoir pourquoi
Ex :
Adresse de départ : 36 avenue Jean Jaurès 63400 CHAMALIERES
Ville d'arrivée : 30 Rue Pierre le Vénérable 63000 CLERMONT FERRAND
Résultat : 596.4km (or sur google maps directement cela représente 3,5km)
Par contre ce deuxième exemple fonctionne :
Adresse de départ : 36 avenue Jean Jaurès 63400 CHAMALIERES
Ville d'arrivée : Rue du 8 mai 63000 CLERMONT FERRAND
Résultat : 0.9km(et sur google maps directement c'est pareil)
Merci pour la rapidité de votre réponse.
Je constate que cela marche chez vous, mais malheureusement même avec votre fichier cela ne marche pas chez moi (Voir PJ)
Bonjour,
Est-il possible avec le fichier "Distance_Json_Jserie.xlsm" d'obtenir les colonnes "N°Département départ" et "N° département arrivée" ?
Au moins pour les villes en france.
Merci d'avance
Cordialement
Merci Tatiak,
ça réponds plus ou moins à ma demande, mais des fois ça répond "Franc" au lieu du code postal. c'est certainement dû à Google !
Personnellement j'ai juste besoin du kilométrage entre 2 villes en France Corse incluse et que la requête me donne juste les n° de département ainsi que la durée du trajet.
En fait tel quel c'est presque bon mais pas idéal.
Si quelqu'un a un peu de temps ....
Bonne soirée
Bonjour à tous !
J'ai voulu intégrer en simplifiant par rapport à mes besoins le code du dernier fichier Excel. D'avance je m'excuse cela faisait longtemps que je n'avais pas touché à VBA du coup je n'ai plus en tête le nom des procédures etc.
Mon problème :
1/ Si je copie/colle le code "simplifié" en fonction de mes besoins dans le fichier sur lequel je suis en train de travailler, celui-là ne fonctionne pas.
2/A l'inverse, si je copie/colle ce que j'avais déjà créé sur mon fichier de travail sur le fichier téléchargé du forum et que je simplifie le code "calcul des distances" en fonction de mes besoins tout fonctionne :/
==> j'ai pourtant exactement les deux mêmes codes sur toutes les feuilles/modules etc. Donc j'ai vraiment du mal à voir d'où peut venir mon pb.
J'ai fait un pas à pas détaillé sur chacun des classeurs et j'ai identifié le problème (enfin je crois) mais ne sais pas le résoudre.
Dans le code de "Get_Trajet" à un moment on fait appel aux éléments contenus dans "Json.rows" --> dans le cas du fichier téléchargé, ces éléments se lient aux "Elem" et "Elem1" alors que dans mon second fichier, "Elem" et "Elem1" restent vide (pourtant Json.rows ne l'est pas...).
'Debug.Print Site
For Each Elem In Json.Rows
For Each Elem1 In Elem.elements
Debug.Print Elem1.distance.Value
ok = Not (Elem1.Status = "ZERO_RESULTS")
.Cells(Lg, 4).Value = Format(Elem1.distance.Value / 1000, "# ###.00") * 1
Next Elem1
Next Elem
J'ai compris mon problème mais je ne sais le résoudre
==> mon ".Rows" devrait être ".rows" idem pour mon ".Value"... mais VBA me le corrige automatiquement pour remettre des majuscules ! comment faire ? Merci !
Bonjour Laure,
Juste en passant, ci-joint 2 propositions pour calculer un trajet entre 2 adresses (utilisant les api de google) :
* une démo utilisant 2 formules
* une démo utilisant une sortie json (le calcul se fait après saisie ou modif du départ et/ou arrivée) donnant un trajet google (distance + temps estimé) + un calcul selon points GPS (donc en ligne droite)
Pierre
Bon finalement, j'ai fini par trouver... !
Il suffit dans la 2ème formule de substituer "distance" par "duration" et de remplacer 1000 par 3600 pour obtenir le temps en heures
Bon finalement, j'ai fini par trouver... !
Il suffit dans la 2ème formule de substituer "distance" par "duration" et de remplacer 1000 par 3600 pour obtenir le temps en heures