Programme JavaScript en VBA Excel
Bonjour,
J'utilise les API de Google Maps gratuit en utilisant le programme ci dessous et cela fonctionne bien
Code:
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 |
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
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:
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:
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