Bonjour,Bonjour,
As-tu regardé sur la droite de cette même page ....?
10 discussions similaires ... qui devraient t'être utiles ...
Salut,
Tu as un fichier pour exemple ?
Super merci,Voilà ton fichier corrigé.
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
Bonjour,Bonjour à tous,
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
nb : ShuarS a de bonnes sources!
Pierre
Super merci, tu est efficace,Ok, pas de soucis.
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
Pierre
Merci ShuarS, c'est pas mal du tout, je vais essayer de me brouiller pour l'instant avec ça.J'avais trouvé une petite modif aussi
Par contre je n'arrive pas à modifier la police et je pense que @golgue aimera minimiser les colonnes.
Des parasites vous brouillent l'écoute ?je vais essayer de me brouiller pour l'instant avec ça.