Bonjour,
J'ai un souci avec un code VBA sous excell 2003 qui fonctionne très bien avec Windows XP mais qui ne marche pas avec Windows 7.
Le but de ce code est d'obtenir via Google Maps le kilométrage entre 2 adresse postale et de remplir un tableau excell.
Avec Windows 7, le code s'arrête sur la ligne ".Refresh BackgroundQuery:=False" et affiche un message "erreur d'exécution 1004".
Est-ce que quelqu'un a une idée pour résoudre ce problème ?
Merci d'avance un extrait du code ci-dessous.
For Each x In Sheets("CalculKM").Range("H2:" & Sheets("CalculKM").Range("H65536").End(xlUp).Address)
Sheets("Traitement").Cells.Clear
Depart = x.Value
Arrivee = x.Offset(0, 1).Value
With Sheets("Traitement").QueryTables.Add(Connection:="URL;http://maps.google.fr/maps?f=d&saddr=" & Depart & "&daddr=" & Arrivee, Destination:=Sheets("Traitement").Range("A1"))
.Name = "itinéraire"
.BackgroundQuery = True
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.Refresh BackgroundQuery:=False
End With
Set Result = Sheets("Traitement").Cells.Find("Itinéraire en voiture")
If Result Is Nothing Then
x.Offset(0, 2) = "Itinéraire non trouvé !"
Else
x.Offset(0, 2) = Result.Offset(1, 0)
km = Split(Result.Offset(1, 0), " km")
x.Offset(0, 3) = km(0)
End If
Next
J'ai un souci avec un code VBA sous excell 2003 qui fonctionne très bien avec Windows XP mais qui ne marche pas avec Windows 7.
Le but de ce code est d'obtenir via Google Maps le kilométrage entre 2 adresse postale et de remplir un tableau excell.
Avec Windows 7, le code s'arrête sur la ligne ".Refresh BackgroundQuery:=False" et affiche un message "erreur d'exécution 1004".
Est-ce que quelqu'un a une idée pour résoudre ce problème ?
Merci d'avance un extrait du code ci-dessous.
For Each x In Sheets("CalculKM").Range("H2:" & Sheets("CalculKM").Range("H65536").End(xlUp).Address)
Sheets("Traitement").Cells.Clear
Depart = x.Value
Arrivee = x.Offset(0, 1).Value
With Sheets("Traitement").QueryTables.Add(Connection:="URL;http://maps.google.fr/maps?f=d&saddr=" & Depart & "&daddr=" & Arrivee, Destination:=Sheets("Traitement").Range("A1"))
.Name = "itinéraire"
.BackgroundQuery = True
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.Refresh BackgroundQuery:=False
End With
Set Result = Sheets("Traitement").Cells.Find("Itinéraire en voiture")
If Result Is Nothing Then
x.Offset(0, 2) = "Itinéraire non trouvé !"
Else
x.Offset(0, 2) = Result.Offset(1, 0)
km = Split(Result.Offset(1, 0), " km")
x.Offset(0, 3) = km(0)
End If
Next
Pièces jointes
Dernière édition: