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

MJ13

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

Bonjour Marie, à tous


Pour info le fichier zip ( itinéraire) disponible en téléchargement continent un virus :

ALBNCOLLECTOR.EXE

A bon entendeur !

Marie


Marie: Il serait bien de dire de quel post tu parles (car il y en a beaucoup sur cette discussion, déjà 211 posts).

Sinon attention aux faux-positifs :confused:.
 

boudouni

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

Message pour Catrice,
Bonjour
J'ai utilisé votre fichier excel itinéraire3 et cela fonctionnait à merveille.
Cependant, j'ai dû réinstaller mon Vista et MSOFFICE et depuis cela m'indique comme erreur en cliquant sur le bouton de commande : "erreur d'exécution '1004'"
D'où cela peut il venir ?
Par avance merci
 

fannylievre

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

Bonjour et merci pour cet utilitaire très pratique !

Je l'ai utilisé il y a quelques semaines sans aucun problème mais aujourd'hui, lorsque je tente de m'en servir, le message "Erreur d'éxécution 13, Incompatibilité de type" s'affiche systématiquement quel que soit les codes postaux ou les noms de ville que je saisi. Savez vous de quoi se problème peut venir ?
Merci par avance pour votre réponse. :)
Fanny
 

namous

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

Bonjour a toutes et tous


Tout d'abord félicitation a tout ceux ou celles qui ont bossé sur cette fiche Excel, c'est impressionnant!!
J'ai le même problème que Fannylievre, systématiquement j'ai "Erreur d'éxécution 13, Incompatibilité de type" qui s'affiche.
N'étant pas un spécialiste je dirais qu'il attend un chiffre et il reçoit une suite de lettre ce qui pose problème.
le debogage s'arrête la:
X.Offset(1, 3).Value = CDbl(Left(X.Offset(1, 2), InStr(1, X.Offset(1, 2), " km")))
On voit que la macro récupère le texte de google : Autres itinéraires possibles
Mais pas les valeurs des X chemins possibles au choix.
J'essaie de bidouiller pour que la macro récupère les X valeurs d'itinéraires en dessous mais pour le moment je sèche....:confused:
Si quelqu'un sait il est le bienvenu!!:D
Merci


Bonjour et merci pour cet utilitaire très pratique !

Je l'ai utilisé il y a quelques semaines sans aucun problème mais aujourd'hui, lorsque je tente de m'en servir, le message "Erreur d'éxécution 13, Incompatibilité de type" s'affiche systématiquement quel que soit les codes postaux ou les noms de ville que je saisi. Savez vous de quoi se problème peut venir ?
Merci par avance pour votre réponse. :)
Fanny
 
Dernière édition:

THIERRY51

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

Bonjour,
Vos supers fichiers ne fonctionnent plus ; il semble que google map ne reconnaît plus les codes postaux et quand on saisit la ville ... il y a un message d'erreur.
Who may help ?
 

JNP

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

Re :),
Bonjour,
Vos supers fichiers ne fonctionnent plus ; il semble que google map ne reconnaît plus les codes postaux et quand on saisit la ville ... il y a un message d'erreur.
Who may help ?
Le problème est que Google a modifié son interface, et les données Temps et Kilomètres ne sont plus importés dans la page Excel...
Le problème est de retrouver une requête qui redonne ces données, sous Google ou autre...
Si tu trouves un site qui à l'import sous Excel importe bien ces données, fait nous signe, on essayera de rebâtir ;).
Bonne journée :cool:
 

juan64

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

Bonjour,

Effectivement, le problème intervient suite à une modification de l'affichage de la page Google (est-ce la migration vers l'API Goolge V3?)
Voici une URL qui peut solutionner le problème (exemple sur un trajet Paris / Bordeaux) : http://maps.google.com/maps/api/directions/json?origin=PARIS&destination=BORDEAUX&sensor=false.
Les résultats sont (trop) riches. Reste à effectuer un retraitement des données dans Excel.....

### Exemple VBA pour la récupération des données vers une feuille Excel 'Details' ###
Code:
With Sheets("Details").QueryTables.Add(Connection:="URL;http://maps.google.com/maps/api/directions/json?origin=" & Depart & "&destination=" & Arrivee & "&sensor=false", Destination:=Sheets("Details").Range("A1"))
           .Name = "itinéraire"
           .BackgroundQuery = True
           .WebSelectionType = xlEntirePage
           .WebFormatting = xlWebFormattingNone
           .Refresh BackgroundQuery:=False
End With


Infos Google concernant le paramétrage :
Bon courage aux développeurs.

Juan64
www.vba.c.la
 
Dernière édition:

Gruick

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

Bonjour à tous,

Bravo Juan64 pour ta trouvaille.

Le résultat final en kilomètres figure dans la première ligne en partant du bas contenant le mot km.
(testé entre Rouen et le Havre 90,2 km)
Le programme retourne exactement
"text": "90.2 km"
Il faut en extraire 90.2 et le rendre exploitable pour la suite.
La fonction val est soi-disant là pour ça, mais ça ne marche pas chez moi.:(
J'ai donc essayé de supprimer ou remplacer par rien les guillemets et cela pose encore un problème.
Enfin, quand un nombre est non décimal, encore un piège...
Je ne suis pas spécialiste des chaînes de caractères et de leur traitement, alors, les amis, toutes les idées sont les bienvenues.

Gruick
 

Gruick

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

re,

une solution sachant que le nombre attendu est toujours placé 22 lignes avant la fin du résultat de la requête proposée par Juan64.

Code:
MyString = Sheets("Req1").Cells(2 ^ 16, 1).End(xlUp).Offset(-22, 0).Value ': MsgBox MyString
d = InStr(1, MyString, "k") - 1
G = InStr(1, MyString, "x") + 6
Msgbox Val(Mid(MyString, G, d - G))

Finalement plus simple que ma première idée tarabiscotée.

Adaptation :
Virer tout ce qui est entre le end with de la requête, et le end sub, remplacer par le code infra, adapter le msgbox à la cellule où vous voulez voir apparaître le kilométrage obtenu.

Gruick
 

boudouni

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

Bonjour

J'étais si heureux avec le fichier excel itinéraire qui permettait de pouvoir calculer énormément de distances.

Maintenant cela affiche "autres itinéraires disponibles". J'ai bien compris que cela résulte des modif de pagination de googlemaps

Or, je n'y connais rien à VBA excel et j'aimerais savoir si l'un d'entre vous à pu modifier ce fichier providentiel de CATRICE.

Par avance Merci


ou alors quelqu'un sait il comment comment calculer les distances à partir des geocodes ?

Hugues
 
Dernière édition:

zab2

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

Bonjour !

à partir du fichier de Catrice, et avec les solutions de Gruick et Juan64 j'ai refait un fichier très basique (suis loin d'être pro en VBA...) mais qui fonctionne (enfin chez moi, ca marche :)) !
si ca peut aider quelqu'un...

bonne journée

zab
 

Pièces jointes

  • Itinéraire3.zip
    14.5 KB · Affichages: 336
  • Itinéraire3.zip
    14.5 KB · Affichages: 329
  • Itinéraire3.zip
    14.5 KB · Affichages: 332

boudouni

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

Bonsoir

Zab2,

Merci pour ce fichier. Malheureusement cela ne fonctionne pas mais j'ai excel 2000. Cela m'indique #valeur# dans le champ Km.

Ce fichier original de catrice me permettait de pouvoir calculer des distances au kilomètre.

A partir d'un fichier client je pouvais calculer les distances entre toutes les livraisons possibles et rechercher le point le plus près, mais aussi me permettait de faire quelques calculs logistiques.

Je travaille sur access et vais peut être essayer les calculs à partir du geocodage long et lat avec l'une des formules que je glanerai. certainement moins précis que googlemaps car à vol d'oiseau mais ce sera quand même cela

Ceci dit, je serai preneur du fichier de Catrice revisité.

En tout merci quand même.

Slts
Hugues
 

alfazoulou

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

Super ce sujet.
je n'est fait que le survoler pour l'instant mais je me dis que ça doit bien pouvoir servir pour un motard comme moi à créer son road book.
c'est beau Excel quand même...
Bravo à toute et à tous.
 

Gruick

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

Bonjour,

@ boudouni
Zab2 a fait une petite erreur, il faut remplacer le -23 par -22 dans la macro.
Je livre le nouveau fichier, élaboré sous mac. (supprimer ou annihiler les deux instructions de la requête suivis d'une apostrophe pour le mac).
Pour clore le parcours, retaper la première ville.
Pour plus de sécurité, mettre le département (facultatif néanmoins) comme indiqué dans l'inputbox.

@ alfazoulou
Vieux motard (que jamais) (tu as su l'entendre mille fois) gardois, ce n'est qu'un programme excel, qui prépare grossièrement un itinéraire, mais à compléter par un GPS plus indiqué tant pour les autres subtilités du long cours que les belles petites routes du Gard. Merci pour tes louanges.

Gruick
 

Pièces jointes

  • Distancier internet Google New.xls.zip
    30.8 KB · Affichages: 377
Dernière édition:

boudouni

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

@Gruick,

Un grand merci, cela fonctionne, c'est super cool.

Merci à vous tous. En effet, il vaut mieux ajouter le département après la virgule. Car moi qui habite Bergues quand je calcule bergues / Lille cela me donnait 96 km alors qu'il n'y a que 64 km, c'est parce qu'il prenait Bergues sur Sambre. D'où l'intérêt e mettre le dept.

Me voilà ravi. Je n'ai plus qu'à lancer mon calcul des 148 000 combinaisons possibles dans mon étude. A découper par 65 000, biensur.

Encore merci

Autrement comme info pour le motard, j'utilise ITNCONV pour convertir les données Géocodées afin de les intégrer dans un GPS. Gratuit sur le site : Benichou Software

Bon week end à tous
 

Discussions similaires

Réponses
3
Affichages
320

Statistiques des forums

Discussions
312 495
Messages
2 088 966
Membres
103 993
dernier inscrit
Essens