Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

tony67

XLDnaute Nouveau
Bonjour,

En stage de fin d'étude en M2 dans une association rattaché à un organisme de l'Etat, j'effectue une étude sur la vulnérabilité énergétique des territoires. Celle-ci cherche entre autre à calculer le coût moyen des dépenses en carburant pour se rendre au travail lorsque la voiture est utilisée. Le statut de l'association fait que je n'ai pas les moyen de trouver une solution payante à mon problème, et de ne pas disposer d'autres logiciels qu'excels.

Par l'Insee, j'ai obtenu toutes les trajectoires possibles d'une commune vers les lieux de travail (La commune X a Y1 personnes qui travaillent dans la commune Z1, Y2 dans la comme Z2, ect)

J'ai 904 communes pour près de 34 000 combinaisons, donc près de 34 000 lignes dans excel.

Dans la colonne A, j'ai l'origine des trajectoires (code postale et nom de la commune seulement) et dans la colonne B la destination (également code postale et nom de la commune seulement).

Le but est d'obtenir dans la colonne C la distance kilométrique entre les communes (distance que l'on a en voiture, non pas à vol d'oiseau). Cela me permettra d'obtenir par la suite tous les km parcouru par les actifs travaillant d'une commune et par ratio obtenir les km moyens effectués par une voiture pour une commune donnée

J'ai déjà trouvé ce site :
Ce lien n'existe plus

Cependant, le lendemain où je l'ai trouvé, il n'etait plus valide, la macro ne marche plus. Et le soucis et qu'il est limité à un peu plus de 250 requêtes (éventuellement débrancher et rebrancher la box pour avoir une nouvelle adresse IP et recommencer, mais le temps serait au moins doublé pour le travail)
D'autres réponses indiquent des solutions où les limites sont de 15 000 requêtes par jour avec d'autres macro. Ceci me conviendrait pour obtenir les résultats en 3 jours.

Cependant, les dates de réponses datent un peu (au mieux août 2010) et de plus je ne sais pas comment les mettre en application.

Quelle macro pourrait répondre à mon souci? Je sais qu'il existe un moyen de ce problème par tout ce que j'ai lu, mais je ne sais pas la mettre en application.
A savoir, je suis très mauvais en anglais, souvent des liens renvoient à des explications données par google maps, mais c'est en anglais et je ne comprends rien.
Etend mauvais en code macro, il faudrait en quelque sorte que j'ai simplement à copier-coller la formule et la mettre dans la fenêtre des formules macros, où alors me dire ce que j'ai à remplacer.

Je vous serais très reconnaissant, je cherche une solution depuis 10 jours, et je suis complètement bloqué dans mon étude tant que je n'ai pas résolu le problème.

Cordialement,

Tony
 

tony67

XLDnaute Nouveau
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

Merci beaucoup, mais je l'avais déjà trouvé. Cependant, aucune solution ne marche, et datant de 2008, les macros pouvant auparavant ne sont plus à jour (google maps ayant évolué depuis)

Je suis vraiment en grande difficulté, si quelqu'un avait une solution autre ce serait extraordinaire!
 

tony67

XLDnaute Nouveau
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

Merci beaucoup, mais idem, j'étais déjà tombé dessus, et ce n'est pas ça.

Ce que je souhaiterai, c'est vraiment comme le site : Ce lien n'existe plus

où mettre simplement dans une colonne et dans une autre le nom d'une commune suffisait pour qu'une macro utilise google maps pour calculer les itinéraires (plus d'une par seconde) mais qui ne soit pas limité à 258 requêtes (la macro du site n'est plus active depuis 4 jours alors que je l'ai découvert il y a 5 jours et qu'elle était très efficace)
 

kiki29

XLDnaute Barbatruc
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

Re,dans le fichier lisez-moi de ce site
Il s'agit d'une version beta (v3.04b) adaptée pour l'API Google V3
Ne pas lancer un nombre d'itinéraires trop important, Google a fixé
des limites pour éviter les reqûetes multiples. Si vous executez
trop de requêtes, un message d'erreur sera affiché et vous ne
pourrez plus utiliser le calcul d'itinéraires.

En utilisant ce fichier, veuillez lire et accepter les conditions
d'utilisation de l'API Google : Google Code

sinon Re, Geolocalisation avec GoogleMaps
The Google Geocoding API - Google Maps API Web Services - Google Code
 
Dernière édition:

tony67

XLDnaute Nouveau
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

Oui, pour le lisez-vous j'avais vu cette remarque. Mais le simple fait de débrancher-rebrancher la box et d'avoir une nouvelle adresse IP permettait de contourner le problème. Et j'ai essayé sur plusieurs ordinateur en des lieux différents, la macro n'est plus active, ne marche plus.

Je jete un oeil à votre lien Geolocalisation avec GoogleMaps, le second est en anglais et j'étais déjà tombé dessus, je ne comprend rien (doublement : l'anglais et les codes ^^).

Je vous tiens au courant, en tout cas déjà merci!
 

kiki29

XLDnaute Barbatruc
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

Re,je pense que sur le 2eme lien la réponse est claire
Usage Limits
Use of the Google Geocoding API is subject to a query limit of 2,500 geolocation requests per day. (User of Google Maps API Premier may perform up to 100,000 requests per day.) This limit is enforced to prevent abuse and/or repurposing of the Geocoding API, and this limit may be changed in the future without notice. Additionally, we enforce a request rate limit to prevent abuse of the service. If you exceed the 24-hour limit or otherwise abuse the service, the Geocoding API may stop working for you temporarily. If you continue to exceed this limit, your access to the Geocoding API may be blocked.

En gros 2500 requêtes par jour sauf si licence et alors on passe à 100 000 par jour
d'autre part il y a ausi une limite de 24h qui peut aboutir à l'arrêt temporaire de l'API et si cela perdure au blocage
 
Dernière édition:

tony67

XLDnaute Nouveau
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

En effet, c'est clair! Mais à 2500 par jour, et avec plusieurs ordinateur, je pourrai arriver en 3-4 jours à obtenir tous les résultats.

Le premier lien date de plus de 3 ans, ce n'est plus à jour.

et je ne comprend pas le code VBA :

Private Sub search(v_adresse as String, v_cp as String, v_ville as String)

Dim v_http As String
v_http = "http://maps.google.fr/maps?f=q&hl=fr&q="
v_http = v_http & v_adresse & " ,+ " & v_cp & "+" & v_ville

On Error GoTo err_connexion:
FollowHyperlink (v_http)
'ThisWorkbook.FollowHyperlink pour Excel
'ThisDocument.FollowHyperlink pour Word

ExitSub

err_connexion:
MsgBox "Impossible de se connecter au site GoogleMaps"

End Sub




Ca part du principe que j'ai l'adresse, le code postale et la commune. Mais je n'ai que la commune (le code postale je peux l'avoir facilement s'il le faut vraiment)

Mais en ayant les variables dans une colonne, je ne sais vraiment pas sous quelle forme l'indiquer dans le code...

Peut-être avait vous vu sous quel format était "The Annual - Telechargements" lorsqu'on le télécharge le tableau qui est présent. (le code ne peut être vu hélas). Il suffisait vraiment de mettre le nom de commune dans les 2 colonnes appropriées (origine-destination) et de cliquer sur le bouton lançant la macro et les calculs se faisait en étant lié à googlemaps (j'ai vérifié plusieurs fois les résultats en allant directement sur googlemaps pour être certain que c'est correct, ce qui était le cas). Pas besoin de remplir d'autres colonnes.

Etant vraiment très novice dans les macro, c'est vraiment un tel code applicable que je souhaiterai, à avoir vraiment à simplement copier-coller, en partant sur le principe qu'en colonne 1 j'ai le CP origine et 2 la commune origine, en colonne 3 le CP destination et 4 la commune destination et qu'en colonne 5 s'affiche le résultat issu de la macro.
Le problème des codes c'est généralement que je n'ai aucune idée comment l'adapter à mon cas autrement.
 

kiki29

XLDnaute Barbatruc
Re : Macro excel pour obtenir itinéraire kilométrique entre communes avec google maps

Salut,
Code:
Option Explicit

Sub Tst()
Dim sAdr As String
Dim sCp As String, sVille As String

    sAdr = "1, rue de la halle"
    sCp = 50500
    sVille = "Carentan"
    
    Search sAdr, sCp, sVille
End Sub

Private Sub Search(sAdresse As String, sCodePostal As String, sNomVille As String)
Dim sHttp As String

    sHttp = "http://maps.google.fr/maps?f=q&hl=fr&q="
    sHttp = sHttp & sAdresse & " ,+ " & sCodePostal & "+" & sNomVille

    On Error GoTo err_connexion:
    ThisWorkbook.FollowHyperlink (sHttp)
    Exit Sub

err_connexion:
    MsgBox "Impossible de se connecter au site GoogleMaps"
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 107
Messages
2 085 356
Membres
102 874
dernier inscrit
Petro2611