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 !!
 

Catrice

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

Bonsoir,

Un exemple à tester ci-joint.

Fonctionne en Excel 2002.
 

Pièces jointes

  • Itinéraire.xls
    48.5 KB · Affichages: 21 333
  • Itinéraire.xls
    48.5 KB · Affichages: 18 102
  • Itinéraire.xls
    48.5 KB · Affichages: 18 289

platina

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

Catrice ! C'est super ça marche !!!

Bravo, tu m'as gagné des heures de google maps ! En fait je dois faire cela sur 7000 villes !
Donc comment adapter ton fichier pour que si j'ai tous mes départs dans la colonne A, et toutes mes arrivées dans la colonne B, obtenir toutes les distances en km dans la colonne C sans cliquer 7000 fois sur la touche grise ?

Merci beaucoup !
 
Dernière édition:

ledzepfred

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

catrice, platina, bonjour,

j'ai adapté l'excellent code de catrice pour l'intégrer dans une boucle en références relatives.

Il est préférable d'utiliser les codes postaux pour les départs et arrivées plutôt que les noms des villes (tu auras plus de résultats corrects

bon courage
 

Pièces jointes

  • Itinéraire(1).zip
    13.8 KB · Affichages: 11 353

Catrice

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

Bonjour à tous,

Ci-joint la meme chose mais avec un For Each (question d'habitude ;))
 

Pièces jointes

  • Itinéraire2.zip
    13.7 KB · Affichages: 6 631
Dernière édition:

Gruick

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

Bonjour les voyageurs,

Superbe sujet, mais voilà le hic (chez moi) :
Code:
 km = Split(Result.Offset(1, 0), " km")
    ActiveCell.Offset(0, 3) = km(0)
pas de fonction split sur ce foutu excel 2004 pour Mac, et pas plus sur mon XL2000 pour PC.
C'est donc la fonction sniff....(ça Plant dirait Robert !)

Un ami XLDnaute m'avait renseigné la dessus, mais impossible de retrouver ses explications, qui devaient être à l'intérieur d'un autre sujet.

Donc, si une bonne âme pouvait m'expliquer ce que la fonction split fait...
et par quoi peut-on la remplacer. Je continue néanmoins à fouiner dans les messages.

Merci d'avance, et il semblerait que Led Zep ça les démange un peu, même si ils disent le contraire.

Gruick, qui écoute Physical Graffiti en attendant...
 

nrdz83

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

Bonjour à tous j'ai ce fichier qui calcule la distance entre deux points en fi et g si ça peut vous aider mes amitiés :cool:
 

Pièces jointes

  • Distance entre deux points Géo.xls
    17 KB · Affichages: 7 022
  • Distance entre deux points Géo.xls
    17 KB · Affichages: 6 242
  • Distance entre deux points Géo.xls
    17 KB · Affichages: 6 924

Catrice

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

Bonjour Gruick,

2 solutions dans le fichier joint.

La fonction Split créée un tableau à partir d'une chaine en utilisant le séparateur de son choix.
Exemple : chaine => 10 km 20 km 30 km
Si on fait :
Sub Test1()
Chaine = "10 km 20 km 30 km "
Var = Split(Chaine, " km ")
MsgBox Var(0) 'Donne 10
MsgBox Var(1) 'Donne 20
MsgBox Var(2) 'Donne 30
End Sub
 

Pièces jointes

  • Itinéraire3.zip
    14.4 KB · Affichages: 4 729
  • Itinéraire3.zip
    14.4 KB · Affichages: 4 066
  • Itinéraire3.zip
    14.4 KB · Affichages: 4 646
Dernière édition:

ledzepfred

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

re bonjour à tous,

D'abord mille excuses pour ce post qui n'apporte rien
gruick : excellent le jeu de mot "ça plant dirait robert", pour ce qui est des démangeaisons on verra bien s'ils vont finir par se gratter. enfin excellent choix en ce qui concerne physical graffiti (c'est pas ce qui va te permettre de remplacer split par autre chose mais bon).

Histoire que ce message ait un lien avec excel : j'en profite pour dire à Catrice que je suis en général un fan de ces codes.

a+
 

Gruick

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

Grand Merci Catrice, et encore plus pour la macro.
(un peu tardif, mais coups de fils intempestifs, puis repas)

J'ai deux instructions dont le Mac n'a pas voulu,
Code:
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
que j'ai apostrophées... ça marche !

J'ai cherché "km" au lieu de "Itinéraire en voiture"... ça marche !
Ma variable result est donc le contenu de la cellule où se trouve le mot "km"

Il n'y a plus qu'à mettre en forme tout ça, je pense pouvoir y arriver.

Je vais donc tout de suite noter ce sujet avec 5 étoiles.

Précision utile : Plus fiable avec les codes postaux, car il y a des communes avec des traits d'union (ex : Rosières-aux-Salines en 54).

Merci encore et bravo, bravissimo !!!!

Ca marche aussi pour l'étranger, j'ai essayé Seville, Berlin, Palerme, Oslo, Riga, Athènes, Bucarest, et Split, rien que pour emm... Excel !

Gruick
 
Dernière édition:

Catrice

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

Hello Gruick,

Je fais la recherche sur "Itinéraire en voiture" plutot que sur "km" car en cas d'erreur j'ai remarqué que "Itinéraire en voiture" n'apparaissait pas dans la requete.
En revanche, en cas d'erreur "km" apparait => source d'erreur lors d'une mauvaise saisie d'une ville :(

De plus Londres Paris, par exemple, donne des miles ...
 
Dernière édition:

platina

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

Merci à tous !

Je vois que vous étes tous à la page, autant que notre ami Jimmy (oui bon je tente la blague!)...

Dernière question: Comment maintenant faire pour afficher toutes les destinations d'arrivée de mon fichier excel (donc toujours la colonne B) sur une carte de France ?

Encore merci
 
Dernière édition:

ledzepfred

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

Bonsoir à tous,
ben histoire d'en remettre une couche il y aura toujours une bonham :D:D
pour te venir en aide sur ce forum. Pour John Paul Jones, j'ai pas trouvé mais les hypothèses d'en trouvé sont basse :rolleyes:

blague à part ta carte est une image placée dans le fichier?
Beau défi mais perso ça complique, en plus avec 7000 références kilométriques ce serait illisible (sauf si on a une grande carte)

il y aurait bien la possibilité de créer par code autant de zone de texte qu'il y a de destinations, superposées sur l'image mais pour placer la zone de texte il faut que la position des destinations soit determinée sur la carte par des coordonnées (1 abcisse et une ordonnée) or on a ni l'une ni l'autre. Maintenant si tu trouves un site qui récupère la longitude et la latitude d'une destination, on peut grâce à Catrice extraire cette info dans excel et la convertir en position de la zone de texte (je sais pas si je suis clair là!!!)

a+
 
Dernière édition:

platina

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

Merci ledzepfred !
J'ai trouvé ce site internet, qui donne les coordonnées à partir de l'adresse/code postal.
En revanche quand on utilise le code postal, il faut toujours retaper "france" à côté sinon il se trompe ; je ne sais pas s'il y a moyen d'automatiser cela dans la macro ?

Merci à tous !
 

Discussions similaires

Statistiques des forums

Discussions
314 493
Messages
2 110 198
Membres
110 703
dernier inscrit
papysurf