Macro pour calculer la distance entre deux villes via google maps

platina

XLDnaute Nouveau
Bonjour !

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 ?

Merci beaucoup !!
 

Roland_M

XLDnaute Barbatruc
Re : Macro pour calculer la distance entre deux villes via google maps

bonjour

Non ! la liste de 38050 est sans les Dom Tom
mais c'est vrai que ce ne sont pas 38050 communes !
le chiffre est faussé car il y a les Arrondissements de Paris Lyon Marseille
et surtout tous les codes postaux d'une même grande ville !
exemple Bordeaux 33000 33100 33200 33300 33800 !
c'est pour ça les 38050 !

la liste des Dom Tom dans la feuille Base est là pour info perso mais n'est pas reprise dans la liste de l'userform évidemment !

il devrait y avoir 36782 communes !? (bien que ça change au fil des ans)

Cordialement !
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Macro pour calculer la distance entre deux villes via google maps

Bonjour tout le monde, Gruick,

J'ai modifié avec tes indications des deux fils, et même revérifié, car cela ne fonctionne toujours pas, c'est même pire.

Pour les distances, avec ou sans les tirets, cela reste parfait, mais la carte ne reconnait même plus Saint-Raphaël. Sur l'exemple elle ne donne plus que Paris-Laval, pourtant tous les calculs se font. Le Mans, qui n'a pourtant pas de tiret, n'est toujours pas reconnu.

Bon, c'est pas grave, je vais rester sur la première version car elle est vraiment chouette.

Bonne journée.

Jean-Pierre
 
C

Compte Supprimé 979

Guest
Re : Macro pour calculer la distance entre deux villes via google maps

Bonjour à tous,

Gruick, mes félicitations, c'est génial ce petit fichier ;)

JeanPierre, tu trouveras ci-joint le fichier de Gruick avec les modifications effectuées ;)

Nota : tu verras que Saint-Raphaël et Le Mans fonctionnent

A+
 

Pièces jointes

  • Itinéraire Google.zip
    241.1 KB · Affichages: 879

jeanpierre

Nous a quitté
Repose en paix
Re : Macro pour calculer la distance entre deux villes via google maps

Re tous, Bonjour Bruno,

Merci pour le fichier, mais ben non, pour les distances pas de problème, mais pour la carte, je n'ai qu'un point sur Paris.

Alors que tous les autres essais, que j'ai fait avec d'autres villes, fonctionnent.

Bon après-midi.

Jean-Pierre
 

teemu

XLDnaute Nouveau
Re : Macro pour calculer la distance entre deux villes via google maps

Bonjour à tous, tout nouveau sur ce forum très enrichissant, j'ai trouvé ce topic très très sympa, et qui correspond bien avec mon activité.
J'ai essayer, tout marche. Étant graphiste de base, et ne connaissant pas grand chose au code, je me permet de vous demander si vous pouviez m'aider à finaliser mon fichier.
Dans vos très bon fichier, par rapport au mien, es ce possible d'intégrer les code postaux à coté des villes ? Car, c'est assez important dans mon activité de connaitre avec exactitude si les ville corresponde à nos attentes. ( que ce soit en FR qu'en EU )
Et la possibilité de voir le trajet sur une carte à coté.

J'ai pas mal de soucis sur les dernières version qui m'affiche qu'en je clic sur "débloquer " .Refresh BackgroundQuery:=False

Pouvez-vous m'aider ?

Pour moi ça serais une excellente base de travail, qui me ferais gagner un temps inimaginable ! :)

Merci à vous,

je vous link mon fichier de base, et ce qui se trouve en feuille 2 n'ai pas utile dans mon travail
http://liame69.free.fr/01/test_itin%c3%a9raire.xls

Ça me gène d'arriver comme ça et de vosu demander de l'aide, en gros tout me faire, mais je n'y connais rien en codage.. :(

Possible de me parler via MSN ou Mail si vous voulez. ( même adresse pour les deux ) david.jolly@eglobelogistics.eu
 

Gruick

XLDnaute Accro
Re : Macro pour calculer la distance entre deux villes via google maps

Bonjour Teemu,

Ce qu'on a fait, c'est plutôt franco-français et par rapport à deux sites :
- le premier (Google)pour les distances ente deux villes, là il y a possibilité d'européaniser légèrement, on ne trouve pas tout,
-le deuxième (Galichon) est uniquement basé sur la France pour la localisation avec les latitudes et longitudes, mais qui indique les codes postaux. On s'est servi de ce site pour la carte.
Il faudrait donc trouver un site plus large
et une carte d'Europe exploitable. j'en ai déjà bavé pour trouver une bonne carte pour la France avec la Corse à sa bonne place, alors...
pour Dnipropetrovsk ou Hammerfest et les codes postaux, tu imagines.

Ma dernière version
http://cjoint.com/?melJERPGg2

Gruick
 

B3lga

XLDnaute Junior
Re : Macro pour calculer la distance entre deux villes via google maps

bonjour le fil,
gruick, te serait-il possible de remettre ta dernière version à disposition stp?
j'ai besoin de ce fichier pour un projet XL que je dois rendre bientôt. je me suis lancé dans l'optimisation de tournée sans vraiment prévoir l'ampleur de la tâche.
merci d'avance,
dans l'espoir de vous lire

ps grand bravo à tous ceux qui se sont décarcassés sur ce problème
 

Gruick

XLDnaute Accro
Re : Macro pour calculer la distance entre deux villes via google maps

Salut B3lga, JeanPierre, Catrice... et tout le monde.

J'ai retrouvé la dernière version, qui est encore plus dernière que l'ancienne dernière.

Celle-ci fabrique un distancier entre les villes choisies, et calcule l'itinéraire idéal.

http://cjoint.com/?bFoKNxUoHc

Ne marche que sur PC, mais je la transfère d'une clé USB branchée sur Mac.
Donc pas garanti 100 %.

Gruick
 

B3lga

XLDnaute Junior
Re : Macro pour calculer la distance entre deux villes via google maps

merci beaucoup,
je jette un oeil à tout ça et je vous tiens au courant.

alors un problème sur le calcul de distance auto
le msgbox demande les villes à saisir, la première doit être la ville de départ, la dernière doit être la ville d'arrivée (il faut qu'elle soit identique à la ville de départ, dommage)
le bug :
'MsgBox ("de " & Selection & " à " & Cells(repère, 1) & " distance " & Range("mini"))
Cells(repère, 1).Font.ColorIndex = xlAutomatic
Cells(1, repère).Font.ColorIndex = xlAutomatic
Cells(repère, 1).Select
Sheets("Distances").Cells(2 ^ 16, 1).End(xlUp)(2) = Cells(repère, 1)
Sheets("Distances").Cells(2 ^ 16, 1).End(xlUp).Offset(0, 1) = Cells(repère, 1).Offset(0, 1)
Next a
Sheets("Distances").Select
For Each c In Range(Cells(3, 2), Cells(65536, 2).End(xlUp))
c.Value = c.Value * 1
 
Dernière édition:

Gruick

XLDnaute Accro
Re : Macro pour calculer la distance entre deux villes via google maps

re,

Comme chez moi, ça marche parfaitement, (je viens de re-tester) et que chaque instruction est utile, je ne peux pas t'aider sur ton bug.
De toutes façons, je n' toucherai plus, puisque je l'ai faite pour moi, et qu'elle me satisfait.

Quand plusieurs villes ont le même nom comme Bordeaux, il vaut mieux préciser son département 33.

Pour les villes d'arrivée = ville de départ, en manuel, tu peux t'en passer.
La carte sera alors fidèle à ton parcours.

En auto, c'est ce qui détermine la fin de la macro qui demande les étapes, et qui déclenche celle du calcul. La carte affichera alors le parcours optimal.

Gruick

PS : Evites d'écrire en jaune, c'est quasi-illisible.
 

B3lga

XLDnaute Junior
Re : Macro pour calculer la distance entre deux villes via google maps

excuse, c'était pour indiquer où se situait le bug.
en tout cas je ne comprend pas pourquoi ça bug sur le calcul auto. j'utiliserai le manuel avec des conditions en plus pour l'utilisateur.
merci à tous.
 

Gruick

XLDnaute Accro
Re : Macro pour calculer la distance entre deux villes via google maps

re,

Tu es tout excusé, car en tant que bleu, jeune du forum, le jaune est évité pour question d' illisibilité (wouah, 5 i dans un mot ! ).

Pour cette instruction mystère, on ne peut s'en passer, il fallait rendre chiffre ce qui est texte (le n° département) pour gérer la carte.

Si tu as une autre idée qui marche. Ou essayes de t'en passer, comme je te dis, chez moi, ça marche bien.

Bonne soirée,

Gruick
 

Gruick

XLDnaute Accro
Re : Macro pour calculer la distance entre deux villes via google maps

Pourtant, c'est Dimanche... alors bon Dimanche.

Pendant que ça cuit...
Je me suis arrangé avec la maudite instruction qui bloque, elle devient :

If IsNumeric(c) then c.Value = c.Value * 1

Instruction bizarre, hein !

Il y a néanmoins des communes récalcitrantes comme Six Fours les Plages dans le Var.

Je fouine, et vous tient au courant.

A plus,
Gruick
 

B3lga

XLDnaute Junior
Re : Macro pour calculer la distance entre deux villes via google maps

bonjour à tous,

j'ai essayé d'adapter le code pour mettre la ville et le code postal (je sais même pas si c'est possible) et voila ce que ça donne :

Code:
With Sheets("Feuil3").QueryTables.Add(Connection:="URL;http://maps.google.fr/maps?f=d&saddr=" & Depart & "&" & X.Offset(0, 1) & "&daddr=" & Arrivee & "&" & X.Offset(0, 3), Destination:=Sheets("Feuil3").Range("A1"))

j'ai aussi essayé

Code:
With Sheets("Feuil3").QueryTables.Add(Connection:="URL;http://maps.google.fr/maps?f=d&saddr=" & Depart & " " & X.Offset(0, 1) & "&daddr=" & Arrivee & " " & X.Offset(0, 3), Destination:=Sheets("Feuil3").Range("A1"))

et au cas où

Code:
With Sheets("Feuil3").QueryTables.Add(Connection:="URL;http://maps.google.fr/maps?f=d&saddr=" & Depart & "%" & X.Offset(0, 1) & "&daddr=" & Arrivee & "%" & X.Offset(0, 3), Destination:=Sheets("Feuil3").Range("A1"))

mais rien à faire... toujours la même ligne qui bugg

Code:
.Refresh BackgroundQuery:=False

de plus, avant que je ne change le code, il faisait le calcul mais il me donnait x fois la même distance...
 

Discussions similaires

Réponses
3
Affichages
299

Statistiques des forums

Discussions
312 222
Messages
2 086 393
Membres
103 200
dernier inscrit
pascalgip