Matrice de distances - Google Maps

NezQuiCoule

XLDnaute Occasionnel
Bonjour à tous !

Comme conseillé par eriiiic et d'autres, et ils n'ont pas tort, je créé mon propre topic pour partager avec vous le fichier que j'ai élaboré.
Le principe est simple : lorsqu'on élabore un distancier "à la main", on doit saisir sur un site de cartographie en ligne (Google Maps, ViaMichelin, ...) la ville de départ et la destination, puis récupérer la distance, chose longue et fastidieuse lorsqu'on le fait avec beaucoup de localisations.

Le but du fichier est donc de faciliter cette tâche, à l'aide de 2 feuilles :
-La première, "Départ-Arrivée" permet tout simplement de calculer la distance entre la ville de départ et la destination saisie. On peut créer une liste puis lancer le calcul avec le bouton "Calculer". Cette fonction permet de créer des listes rapidement sans trop se prendre la tête.
-La seconde, qui sera certainement plus intéressante, appelé "Matrice" correspond à un distancier. On saisie dans la colonne A le nom des villes qui nous intéresse, on vide le tableau en supprimant les distances déjà présentes si c'est le cas, puis on lance en cliquant sur "Créer Distancier". Une barre de progression s'affiche, il ne reste plus qu'à patienter si cela fonctionne bien. À noter que le trajet "Départ-Arrivée" et "Arrivée-Départ" est considéré ici comme identique, ce qui n'est pas toujours vrai.. Mais pour un gain de temps je ne pense pas qu'il soit nécessaire de faire 2 fois plus de requêtes.

Vous pouvez spécifier pour la ville son nom, le code postal, les coordonnées GPS, le pays, région... Plus vous êtes précis, moins Google Maps fera d'erreur, car ici pas de suggestion, c'est à vous d'être précis. ;)

Le principe est très simple, je n'ai rien inventé.. Si vous utilisez ce lien :

https://maps.google.fr/maps?t=m&saddr=ville_départ&daddr=ville_arrivée&output=classic&dg=ntvb

En remplaçant ville_départ et ville_arrivée par vos destinations, vous tombez directement sur l'itinéraire.

Il faut donc savoir qu'utiliser Google Maps de cette façon n'est pas vraiment conseillé puisque le fichier repose sur le fait que la structure de l'API Google Maps n'évolue pas, ce qui n'est pas le cas pour un géant comme Google. Donc tôt ou tard il y a fort à parier que leur site évolue et que ce fichier ne fonctionne plus, profitons-en donc. :)

Sans plus tarder voilà le fichier, avec la petite modification apportée par eriiiic pour l'affichage correct des valeurs, que je remercie chaleureusement.
Bien entendu je réponds aux questions dans la mesure du possible et je suis ouvert à toutes critiques, bonnes ou mauvaises, on est là pour apprendre et s'entraider après tout :cool:

************* EDIT **************

Fichier mis à jour en v3 :

- Amélioration globale du code (vitesse + stabilité)
- Possibilité de calculer ou non un trajet "Aller" et "Retour" de façon indépendante (Merci Anette ;) ) sous forme de case à cocher (dans Matrice Distance)
- Remplissage des 2 matrices en même temps et format temps en [h]:mm afin de pouvoir exploiter les données facilement (Merci Eric :p )
- Possibilité de visualiser le trajet (dans Matrice Temps) en cliquant sur une case et en appuyant sur le bouton
- Modifications des villes depuis la feuille Matrice Distance, reproduisant celle-ci dans Matrice Temps
 

Pièces jointes

  • Distance Google Maps-v3.xlsm
    55.2 KB · Affichages: 6 545
  • Distance Google Maps-v3.xlsm
    55.2 KB · Affichages: 3 376
  • Distance Google Maps-v3.xlsm
    55.2 KB · Affichages: 4 567
Dernière édition:

eriiic

XLDnaute Barbatruc
Re : Matrice de distances - Google Maps

Bonjour,

Fichier très intéressant, bravo.
Si je peux me permettre, les gens lisant très peu les consignes, tu pourrais mettre dans le fichier des exemples des différentes saisies possibles (ville, code postal, les coordonnées GPS, ...).
Je ne me suis aperçu de cette possibilité qu'aujourd'hui.
Je t'envoie un client ;-)

eric
 

Rep76

XLDnaute Nouveau
Re : Matrice de distances - Google Maps

Bonjour à tous,

un petit mot pour apparaître dans le fil de discussion et pouvoir la suivre, je la suivais dans le fil précédent.
J'utilise ce petit fichier que j'a adapté sur le mien, c'est très utile, encore merci !
Une petite remarque de l'un de mes collègue qui utilise également ce fichier, comment pourrions nous avoir la barre de défilement dans le UserForm de la page 1, dans le sens de la voir progresser ? j'avoue que c'est purement esthétique.. ;-)
Parce qu'après avoir recherché, et si j'ai bien compris, pour voir la barre défiler, il faut connaitre le nombre de demande et du coup, sur la feuil1, le nombre de requête est purement aléatoire.

cdt
 

NezQuiCoule

XLDnaute Occasionnel
Re : Matrice de distances - Google Maps

Bonjour à tous !

Une mise à jour du fichier, le rendant beaucoup plus rapide (5 à 10 fois plus rapide, sans mentir), intégrant la possibilité de calculer le temps de parcours et améliorant l'esthétique dans sa globalité.

Merci de me faire part de vos retours pour ceux que ça intéresse. :)
 

Pièces jointes

  • Distance Google Maps.xlsm
    50.2 KB · Affichages: 1 719
  • Distance Google Maps.xlsm
    50.2 KB · Affichages: 1 192
  • Distance Google Maps.xlsm
    50.2 KB · Affichages: 1 989

Annette

XLDnaute Occasionnel
Re : Matrice de distances - Google Maps

Bonjour NezQuiCoule, le forum,

Votre fichier, très bien fait (surtout les parties matrice distance et temps) rend des services à bien des égards ...
Je réitère ma suggestion d'amélioration (ou pas :p) du fichier concernant les trajets "Départ-Arrivée" et "Arrivée-Départ" qui à mon sens ne devraient pas être identiques. Je suis consciente que le calcul mettra deux fois plus de temps mais je pense que pour être un peu plus précis, il faut en passer par là.
Merci à vous de mettre votre fichier à disposition ;).

Cordialement
 

NezQuiCoule

XLDnaute Occasionnel
Re : Matrice de distances - Google Maps

Bonjour Annette ! Effectivement c'est une bonne suggestion qui est passé à la trappe dans ma tête, milles excuses :D

Maintenant que le temps n'est plus vraiment une contrainte, je pense pouvoir créer une case à cocher pour laisser la possibilité de choisir entre les 2 méthodes, en revanche je n'ai jamais fait le test si un trajet A-B et B-A est différent, mais si on prend le cas de travaux par exemple qui sont pris en compte par Google, je ne serai pas surpris qu'effectivement il y ait une divergence.

Je m'occupe de ça dans la soirée ou dès demain matin,

Bonne fin de journée ! ;)
 

eriiic

XLDnaute Barbatruc
Re : Matrice de distances - Google Maps

Bonjour,

Effectivement, grosse amélioration du temps d'interrogation, bravo.
Tout est ok sur 2003.
2 suggestions :
- apparemment tu as les 2 résultats sur 1 interrogation. Tu pourrais remplir d'office en même temps les 2 tables Distance et Temps.
- pour les temps inférieur à 31 jours je verrais bien les inscrire au format excel hh:mm avec en format de cellule [h]:mm

eric
 

NezQuiCoule

XLDnaute Occasionnel
Re : Matrice de distances - Google Maps

Bonjour eric, Annette, le forum :)

Je viens de mettre à nouveau à jour le fichier, en prenant en compte cette fois toutes vos remarques !
Au programme :
- Amélioration globale du code
- Possibilité de calculer ou non un trajet "Aller" et "Retour" de façon indépendante (Merci Anette ;) ) sous forme de case à cocher (dans Matrice Distance)
- Remplissage des 2 matrices en même temps et format temps en [h]:mm afin de pouvoir exploiter les données facilement (Merci Eric :p )
- Possibilité de visualiser le trajet (dans Matrice Temps) en cliquant sur une case et en appuyant sur le bouton
- Modifications des villes depuis la feuille Matrice Distance, reproduisant celle-ci dans Matrice Temps

Je vais modifier le fichier en premier post afin que les personnes visitant ce sujet puissent trouver le fichier facilement, et l'ajouter également ici (afin de conserver un historique de mes modifications).

Merci pour toutes les recommandations, le fichier commence à être vraiment agréable à utiliser :cool:
 

Pièces jointes

  • Distance Google Maps-v3.xlsm
    55.2 KB · Affichages: 1 573
  • Distance Google Maps-v3.xlsm
    55.2 KB · Affichages: 1 453
  • Distance Google Maps-v3.xlsm
    55.2 KB · Affichages: 2 455

Annette

XLDnaute Occasionnel
Re : Matrice de distances - Google Maps

Bonjour NezQuiCoule, eriiiic, Rept76, le forum,

NezQuiCoule, je n'ai qu'une chose à dire: votre fichier est GENIAL.
Félicitations à vous et merci de mettre à disposition votre travail :D.
Merci aussi aux intervenants qui ont permis de faire évoluer votre fichier.

Merci à vous pour ce partage ;)

Cordialement
 

eriiic

XLDnaute Barbatruc
Re : Matrice de distances - Google Maps

Bonjour,

Comme je ne suis jamais à court d'idée... ;-)
- Modifications des villes depuis la feuille Matrice Distance, reproduisant celle-ci dans Matrice Temps
Bien. Tant qu'on y est on pourrait imaginer que les lignes et colonnes concernées se vident puisque les valeurs deviennent fausses si on change la ville.
Surtout qu'on peut penser à vider la ligne et oublier de vider la colonne et seule celle-ci se recalculera.

eric
 

doumhfr

XLDnaute Nouveau
Re : Matrice de distances - Google Maps

Merci pour le boulot !

par contre j'ai rencontré un soucis sur toutes les distances supérieures à 1000 km, la distance affiché est alors de 1 km

Google renvoit les distances supérieures à 1000km sous la forme "1 000 km"

j'ai changé une ligne de la macro par ca :
If InStr(1, bodytxt, "</text>") <> 0 Then Distance = Left(Replace(bodytxt, "*", "", 1, 1), InStr(1, bodytxt, "</text>") - 1)

(rajout du replace pour virer le premier espace de la ligne)

et ca semble faire le job :)
 

ED31

XLDnaute Junior
Re : Matrice de distances - Google Maps

Bon travail,
C'est très utile pour avoir une abaque toujours sous la main (et évolutive). :eek:
Il pourrait y avoir une abaque combinée qui fasse figurer dans chaque case le kilométrage et le temps avec des couleurs différences, pour arbitrer par exemple. Il semble facile de calculer le coût de revient (essence, hors autoroute), à peu de frais, enfin de l'approximer.
L'option choisie est "au plus court en distances" ou "en temps" ? Je ne sais pas si tu pourrais la paramétrer dans la requête (je ne connais pas Google mais Via Michelin). Salutations :cool:
 

fredoalex

XLDnaute Nouveau
Re : Matrice de distances - Google Maps

Bonjour à tous,

j'ai apporté une amelioration à l'outil en ajoutant la possibilitée d'ouvrir une page internet google map avec le trajet souhaite par macro avec ce code

Sub Visualiser()
Dim Depart As String
Dim Arrivee As String
If TypeName(Selection) <> "Range" Then Exit Sub

ligne = ActiveCell.Row
Colonne = ActiveCell.Column

Depart = Worksheets("Matrice distance").Cells(ligne - 1, 1)
Arrivee = Worksheets("Matrice distance").Cells(1, Colonne - 1)

If Depart = "" Or Arrivee = "" Or Depart = Arrivee Then Exit Sub

ThisWorkbook.FollowHyperlink "http://maps.google.fr/maps?t=m&saddr=" & Depart & "&daddr=" & Arrivee

end sub

Malheureusement, google map viens de changer son interface et mon code ne fonctionne donc plus.
l'un d'entre vous aurais il une idée de modification de mon code afin que celui ci remarche ?

Merci d'avance
 

Louvamifaly

XLDnaute Nouveau
Re : Matrice de distances - Google Maps

Bonjour, est ce que quelq'un peut m'aider? le fichier attaché est déjà excellent mais est ce que quelq'un peut modifer le lieu de départ et d'arrivée en coordonnée géographique degré décimaux (du genre latitude=-18,8358 et longitude=47,5586). Merci d'avance. Si possible envoyer un fichier attaché comme exemple.
 

B@rtm@n

XLDnaute Nouveau
Re : Matrice de distances - Google Maps

Bonjour,

après de nombreuses recherches j'ai presque trouvé le graal avec votre fichier.
Je cherche en effet la possibilité de faire des calculs de distance et temps en masse.
L'idée est de pouvoir avoir pour chaque CP français la distance et le temps par rapport aux 6000 et quelques autres.
Je viens donc de faire le test sur le premier avec les 6000 autres. Le temps de calcul est approximativement de 6 minutes ce que je trouve super rapide.
Néanmoins je constate qu'un certain nombre ou plutôt un nombre certain des CP sont indiqués en distance à 0.
D'où ma première question, y-a-t-il un nombre limite d'entrée?
C'est peut-être aussi mon fichier en entrée mais je ne vois pas pourquoi certains CP seraient bons et pas les autres étant donné que sa construction est faite dans SAS en une fois.

La deuxième question est que je n'ai pas trouvé la notion de temps dans le premier onglet.
Y-a-t-il un moyen de rajouter cette notion juste à droite de la colonne distance?

La dernière qui est de savoir quelle distance est remontée de Google maps dès lors que celui-ci propose en général 3 itinéraires possibles.

Merci d'avance pour vos éclairages et en tout cas merci déjà pour le travail effectué.

Cordialement.
 

Discussions similaires

Réponses
4
Affichages
305

Statistiques des forums

Discussions
312 111
Messages
2 085 407
Membres
102 884
dernier inscrit
Macarena