Bonjour,
J'utilise les API de Google Maps gratuit en utilisant le programme ci dessous et cela fonctionne bien
Cependant, nous sommes limités et j'ai un contrat par ma société qui me permet d'avoir accès à un plus grand nombre de requêtes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Sub test() Dim DepAdr As String Dim FinVille As String Dim RqtWeb As String RqtWeb = "" DepAdr = "37210 - PARCAY MESLAY" FinVille = "51370 - SAINT BRICE COURCELLES" ' Création de la requète web pour l'API RqtWeb = "URL;https://maps.googleapis.com/maps/api/distancematrix/json?origins=" & DepAdr & "&destinations=" & FinVille & "&sensor=false" ' Définir la feuille de data source Set ShtS = Sheets("Feuil1") ' Sur la feuille des data Google With ShtS ' Créer la requête With .QueryTables.Add(Connection:=RqtWeb, Destination:=.Range("A1")) .Name = "Requete_GoogleMaps" .BackgroundQuery = True .WebSelectionType = xlEntirePage .WebFormatting = xlWebFormattingNone .Refresh BackgroundQuery:=False End With End With End Sub
Par contre, c'est en Javascript que je ne connais pas
Est il possible de transformer cela en VBA Excel ?
Chargement de la librairie Javascript :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&v=3.2&client=login client&channel=NOM_APPLICATION ®ion=FR"></script>
Et utilisation de l’API javascript
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 var origin1 = new google.maps.LatLng(55.930385, -3.118425); var origin2 = "Greenwich, England"; var destinationA = "Stockholm, Sweden"; var destinationB = new google.maps.LatLng(50.087692, 14.421150); var service = new google.maps.DistanceMatrixService(); service.getDistanceMatrix( { origins: [origin1, origin2], destinations: [destinationA, destinationB], travelMode: google.maps.TravelMode.DRIVING, unitSystem: UnitSystem, durationInTraffic: Boolean, avoidHighways: false, avoidTolls: false }, callback); function callback(response, status) { // See Parsing the Results for // the basics of a callback function. }
Merci d'avance
Partager