Bonjour,

J'utilise les API de Google Maps gratuit en utilisant le programme ci dessous et cela fonctionne bien
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
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 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
&region=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