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

julien974

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

Bonjour,

Alors là les amis, vous avez trouvé quelque chose de vraiment intéressant!!!

J'aimerai bien appliquer cela pour les temps de conduite des chauffeurs poids lourds! Estimer combien de temps il faut pour un camion pour effectuer ses livraisons.

On a simplement besoin du nombre de km à parcourir entre deux villes, la vitesse moyenne du camion en km par heure et d'insérer dans tout ça les temps de pause obligatoires, les temps moyens de déchargement,…

Ainsi je pourrai simuler par exemple un trajet :

Rennes >> Nantes >> Bordeaux >> Agen

Vous pensez que ceci peut être possible ???

Si oui, dites le moi et je vous envoie tous les éléments,

Bien cordialement,

Julien974
 

Lolly-l0l

XLDnaute Nouveau
Bonsoir @Jeremtutu,

En attendant le retour de l'auteur (@tatiak que je salue respectueusement :)), essayez le code suivant:
VB:
' ***********************************************************************
' *****                                                             *****
' *****        CODE PierreP56 : http://tatiak.canalblog.com/        *****
' *****                                                             *****
' ***********************************************************************
' >>>>>>>>>>>> modifié par mapomme
' ***********************************************************************

Public Const DIST = "http://www.distance2villes.com/recherche?source="

Sub Distance()
Dim lg As Integer, i As Integer, j&
Dim Url As String, Txt As String, d, temps

   With Sheets("Feuil1")
      lg = .Cells(Rows.Count, 1).End(xlUp).Row
      For i = 2 To lg
         Url = DIST & .Range("A" & i).Value & "&destination=" & .Range("B" & i).Value
         With CreateObject("WINHTTP.WinHTTPRequest.5.1")
            .Open "GET", Url, False
            .send
            Txt = .responseText
         End With
         .Range("C" & i).Value = Split(Split(Txt, "id=""distanciaRuta"">")(1), "</strong>")(0)
         ' en nombre
         .Range("C" & i).NumberFormat = "#,##0"
         .Range("C" & i) = Val(Replace(.Range("C" & i), ",", ""))
         ''.Range("d" & i).Value = Split(Split(Txt, """tiempo"">")(1), "</")(0)
         d = Application.Trim(Split(Split(Txt, """tiempo"">")(1), "</")(0)) & "    "
         temps = 0
         If InStr(d, "d") > 0 Then
            temps = Val(d)
            d = Mid(Mid(d, InStr(d, "d")), InStr(Mid(d, InStr(d, "d")), " ") + 1)
         End If
         If InStr(d, "h") > 0 Then
            temps = temps + Val(d) / 24
            d = Mid(Mid(d, InStr(d, "h")), InStr(Mid(d, InStr(d, "h")), " ") + 1)
         End If
         If InStr(d, "m") > 0 Then
            temps = temps + Val(d) / (60 * 24)
         End If
         .Range("d" & i).NumberFormat = "[hh]:mm"
         .Range("d" & i) = temps
      Next i
   End With
End Sub
Merci !!!!
 

Discussions similaires

Réponses
3
Affichages
299

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 238
dernier inscrit
ds776001