Bonjour,
oui j'ai lu plusieurs messages, j'ai telecharger des fichiers, alors certain marche, mais je n'arrive pas a les copier et les modifier dans mon classeur.
Salut,
Voila le fichier, je voudrais la distance en C7 avec la ville de départ de B9 et la ville s'arrivée de C8.
et que je puisse ensuite avoir D7 la distance de B9 a D8, ainsi de suite.
J'ai juste récupéré le code d'un autre fichier disponible sur le forum.
VB:
Option Explicit
' ***********************************************************************
' ***** *****
' ***** CODE PierreP56 : http://tatiak.canalblog.com/ *****
' ***** *****
' ***********************************************************************
Public Const DIST = "http://www.distance2villes.com/recherche?source="
Sub Distance()
Dim lg As Integer, i As Integer
Dim Url As String, Txt As String
With Sheets("Feuil1")
lg = .Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lg
Url = DIST & .Range("A" & i).Value & "&destination=" & .Range("B" & i).Value
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", Url, False
.send
Txt = .responseText
End With
.Range("C" & i).Value = Split(Split(Txt, "id=""distanciaRuta"">")(1), "</strong>")(0)
Next i
End With
End Sub
Malheureusement je n'arrive pas à modifier ce code pour effectuer le calcul sur les deux lignes.
Mais je suis certain que bcp de personne ici pourront le faire
Si j'ai bien compris le point de départ est toujours en B9 et les points d'arrivée en ligne 8 de C8 à AV8. Dans ce cas, il suffit d'indiquer ces références dans le code et de boucler de C8 à AV8 avec un p'tit contrôle si la case "destination" n'est pas vide, ça donne :
VB:
Option Explicit
' ***********************************************************************
' ***** *****
' ***** CODE PierreP56 : http://tatiak.canalblog.com/ *****
' ***** *****
' ***********************************************************************
Public Const DIST = "http://www.distance2villes.com/recherche?source="
Sub Distance()
Dim lg As Integer, i As Integer
Dim Url As String, Txt As String
With Sheets("Feuil1")
For i = 3 To 48 ' C8 à AV8
If Not .Cells(8, i).Value = "" Then
Url = DIST & .Range("B9").Value & "&destination=" & .Cells(8, i).Value
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", Url, False
.send
Txt = .responseText
End With
.Cells(9, i).Value = Split(Split(Txt, "id=""distanciaRuta"">")(1), "</strong>")(0)
End If
Next i
End With
End Sub
Si B7 est le point de départ => indiquer "B7" : DIST & .Range("B7").Value
Les arrivées en ligne 6 => indiquer 6 : "&destination=" & .Cells(6, i).Value
Et mettre les réponses en ligne 5 => indiquer 5 : .Cells(5, i).Value = Split...
Sinon pour la boucle : For i = 3 To 48 ' C à AV
si on veut aller jusqu'à AW, ce sera : For i = 3 To 49 ' C à AW
49 étant le n° de la colonne AW
VB:
If Not .Cells(8, i).Value = "" Then
Url = DIST & .Range("B7").Value & "&destination=" & .Cells(6, i).Value
With CreateObject("WINHTTP.WinHTTPRequest.5.1")
.Open "GET", Url, False
.send
Txt = .responseText
End With
.Cells(5, i).Value = Split(Split(Txt, "id=""distanciaRuta"">")(1), "</strong>")(0)
End If
Super merci, tu est efficace,
Peut tu juste me dire comment je le mets sur ma feuille , est il possible de mettre un bouton pour lancer le calcul ?
Merci