Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Calculer une liste de distances avec l'adresse exacte en utilisant l'api Matrix Google

Ja56

XLDnaute Nouveau
Bonjour,

Je travaille sur le Bilan Carbone de ma société et je cherche à calculer le plus précisément possible la distance entre plusieurs adresses.

J'ai déjà utilisé plusieurs excel de ce forum ou d'ailleurs, mais soit je peux rentrer des listes de milliers de lignes pour trouver des distances entre villes uniquement, soit je trouve des feuilles excel où je ne peux calculer que une distance avec adresse complète (cp, rue, numéro, ville) entre deux adresses.

Ma question : est-il possible d'avoir un fichier excel comme celui des villes, mais utilisant l'api matrix et permettant de calculer à la chaîne plusieurs distances à la chaîne avec des adresses complètes ?

En vous remerciant par avance.
 

Ja56

XLDnaute Nouveau

Bonjour,
Oui c'est payant mais à partir d'un certain nombre de requêtes journalière et/ou annuelles
 

crocrocro

XLDnaute Impliqué
Quand je me connecte avec le lien que j'ai indiqué dans ma réponse précédente, sur le bandeau, j'ai une proposition d'un simple essai gratuit.
En pj pour rappel, un fichier excel avec une solution pour le calcul de Ville à Ville (sans l'adresse complète dont voici le code VBA (de PierreP56).
Il serait peut-être possible de l'adapter pour Matrix en repérant dans le contenu de la variable Txt où se situe la distance entre les 2 adresses. Le SPLIT permettant d'isoler la valeur.


VB:
'
Option Explicit
 ***********************************************************************
' *****                                                             *****
' *****        CODE PierreP56 : http://tatiak.canalblog.com/        *****
' *****                                                             *****
' ***********************************************************************


Public Const DIST = "http://www.distance2villes.com/recherche?source="
Sub Distance()
Dim lg As Integer, i As Integer
Dim Url As String, Txt As String

    With Sheets(1)
        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)
            .Range("D" & i).Value = Split(Split(Txt, "id=""tiempo"">")(1), "</span>")(0)
        Next i
    End With
End Sub
 

Pièces jointes

  • Distance entre 2 adresses.xlsm
    21.1 KB · Affichages: 36
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…