Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Lancer une macro VBA Plusieurs Fois

AsmaAlex

XLDnaute Nouveau
Bonjour, je tiens à préciser que je suis nulle en VBA, j'ai trouvé cette macro sur internet qui m'aide à calculer la distance en Km d'un point de départ à un point d'arrivé, sur une cellule qui s'appelle résultat, à partir d'un site web, mais qui m'affiche le résultat sur une seule ligne, donc je veux dupliquer cette macro sur plusieurs ligne, afin quelle me calcul automatiquement la distance sur toutes les ligne du tableau qui se trouve sur la feuil "Guide" je vous prie de m'aider.

Public Const StrURL = "http://www.distance2villes.com/recherche?source=[Depart]&destination=[Destination]"


Sub CalculerDistanceEntre2Villes()

Dim objWINHTTP As Object
Dim Resultat As String
Dim Request As String


Set objWINHTTP = CreateObject("WINHTTP.WinHTTPREQUEST.5.1")


Request = Replace(StrURL, "[Depart]", Range("Depart").Value) ' cellule s'appelle Depart
Request = Replace(Request, "[Destination]", Range("Arrivee").Value) 'cellule s'appelle arrivee

With objWINHTTP
.Open "GET", Request, False
.send

Resultat = .responsetext

End With

Resultat = Split(Split(Resultat, "id=""distanciaRuta"">")(1), "</strong>")(0)

On Error Resume Next

Range("Resultat").Value = Resultat 'cellule s'appelle resultat

On Error GoTo 0



End Sub
 

Pièces jointes

  • Calcul de Distance.xlsm
    25.9 KB · Affichages: 17

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour AsmaAlex, et bienvenu sur XLD,
En PJ un exemple en utilisant simplement une boucle For...Next.

Pour le code dans les messages, utilisez les balises </> ( près du smiley ) c'est plus lisible.
Dans le VBA pensez à indenter, là aussi c'est plus lisible, surtout pour quelqu'un d'extérieur.
 

Pièces jointes

  • Calcul de Distance.xlsm
    24 KB · Affichages: 8

Discussions similaires

Réponses
4
Affichages
451
Réponses
3
Affichages
827
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…