Aide Macro boucle

lasctoump

XLDnaute Nouveau
Bonjour,

J'ai trouvé sur le net un programme pour calculer les distances entre deux adresse à l'aide de google maps.
La macro envoie les requètes de cette façon :

Sub Test()
For Each X In Sheets("Feuil1").Range("A2:" & Sheets("Feuil1").Range("A65536").End(xlUp).Address)
Sheets("Feuil2").Cells.Clear
Depart = X.Value
Arrivee = X.Offset(0, 1).Value
With Sheets("Feuil2").QueryTables.Add(Connection:="URL;http://maps.google.com/maps/api/directions/json?origin=" & Depart & "&destination=" & Arrivee & "&sensor=false", Destination:=Sheets("Feuil2").Range("A22"))
.Name = "itinéraire"
.BackgroundQuery = True
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.Refresh BackgroundQuery:=False
End With

X.Offset(0, 2) = Sheets("Feuil2").Cells(2 ^ 16, 1).End(xlUp).Offset(-23, 0).Value

Next
End Sub

Cette macro fonctionne très bien mais les requêtes envoyées trop rapidement se font bloquer par google :

"status": "OVER_QUERY_LIMIT",

Est-il possible d'ajouter un "timer" dans la boucle pour faire une requête toute les deux secondes par exemple ?
Je n'y connais rien en programmation alors j’espère qu'une bonne âme pourra m'éclairer.
 

tototiti2008

XLDnaute Barbatruc
Re : Aide Macro boucle

Bonjour,

essaye comme ça, il attendra 2 secondes entre chaque requête :

Code:
Sub Test()
For Each X In Sheets("Feuil1").Range("A2:" & Sheets("Feuil1").Range("A65536").End(xlUp).Address)
Sheets("Feuil2").Cells.Clear
Depart = X.Value
Arrivee = X.Offset(0, 1).Value
With Sheets("Feuil2").QueryTables.Add(Connection:="URL; [URL]http://maps.google.com/maps/api/directions/json?origin[/URL]=" & Depart & "&destination=" & Arrivee & "&sensor=false", Destination:=Sheets("Feuil2").Range("A22"))
.Name = "itinéraire"
.BackgroundQuery = True
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.Refresh BackgroundQuery:=False
End With
X.Offset(0, 2) = Sheets("Feuil2").Cells(2 ^ 16, 1).End(xlUp).Offset(-23, 0).Value
[COLOR=red]Application.Wait Now + TimeValue("00:00:02")
[/COLOR]Next
End Sub
 

lasctoump

XLDnaute Nouveau
Re : Aide Macro boucle

Le code fonctionne merci. Cela ne m'a malheureusement pas éviter d'être bloqué mais au bout de 90 requêtes (comparer aux 10 requêtes max possible avant).
Je testerais différentes durée pour trouver un optimum.

Merci pour l'aide précieuse, bonne continuation.
 

Discussions similaires

Statistiques des forums

Discussions
312 046
Messages
2 084 844
Membres
102 686
dernier inscrit
Franck6950