VBA - Comment calculer la distance entre Deux Villes dans un Tableau

preview_player
Показать описание
Cette vidéo pour vous apprendre comment calculer la distance entre deux villes dans un tableau en VBA à partir d'information se trouvant dans un site Web.

================================================
Consulter ma Boutique en ligne :
================================================

Bon visionnage

Learnaccess *********************************************************************************************************
Utiliser mon lien de parrainage pour acheter un produit Tesla et obtenir des crédits gratuits :
- kilomètres gratuits en Superchargeur
- des vêtements et accessoires.

*************************************************************************************************************
Рекомендации по теме
Комментарии
Автор

Merci pour cette transmission... cette astuce permettant récupérer le contenu d'une page web pour y puiser les informations utiles via vba est juste fabuleuse et peut être déclinée pour une multitude de pages web et d'applications !!! une des vidéos les plus instructives que j'ai eu loisir de visionner de ces dernières années...

christophedruon
Автор

Merci Jean-Paul pour cette suite de calcul de distance entre 2 villes ☺️👍👍👍
Est-ce réalisable sur Power bi ?

jpm
Автор

Bonjour Jean-Paul,
mon code ne marche pas;
au lieu d'afficher dans msgbox recherche distance entre et entre.... il affiche pleines lignes avec des messages du type "<meta name =...". Merci d'avance pour ton retour.

sandritaledesma
Автор

Bonjour,
Tout d'abord un grand bravo pour votre travail et votre pédagogie!
J'ai un soucis quand je teste la récupération des km : erreur d exécution 9 l indice n'appartient pas à ma sélection.
Possible de m'aider? Merci à vous!

sotcheatchuon
Автор

Je souhaiterai faire une somme des km de plusieurs départ>destination mais je n'y arrive pas.

brunobouchet
Автор

Avez-vous une solution pour éviter un bug lorsque la ville de départ=ville de destination ? J'ai ce type de situation dans mon fichier. Merci

laurentconstantin
Автор

Merci pour la vidéo comment ajouter un paramètre pour dire qu'on veut pas suivre l'autoroute c'est à dire calculer la distance sans suivre l'autoroute

haykelchouchene
Автор

Bonjour, merci pour votre vidéo mais cela ne fonctionne pas sur mon excel et j'aurai aimer télécharger votre document mais je ne le trouve pas, en l'attente de votre réponse.

quentinbertaud
Автор

la macro fonctionne bien mais elle n'affiche pas les distances. on dirait qu'elle ne vas pas bien chercher la distance sur le site internet. merci pour votre retour

sandritaledesma
Автор

J'ai également du mal à convertir les temps de trajets en valeur numérique, pouvez vous m'aider svp ?

brunobouchet
Автор

Bonjour, j'ai un problème avec l'URL, c'est à dire que les "activecell.offset ne s'ajoute pas à l'url

juliencouque
Автор

Bonjour, merci beaucoup pour vos vidéos qui sont géniales !
Malheureusement, ma macro ne veut pas fonctionner. J'ai essayé vos deux vidéos et lorsque je lance ma macro, il est affiché "Erreur d'exécution, le délai imparti à l'opération est dépassé". Que faire ? Apparemment le problème provient de ".Send"
Merci d'avance pour votre retour :)

laurahercouet
Автор

Bonjour
J'ai une erreur quand une personne habite dans la même ville que la ville de destination
En fait nous utilisons cette macro pour calculer la distance entre le domicile de nos salariés et leur lieu de travail
Comment eviter ce bug ?

Vous en remerciant

angelrose
Автор

Bonjour,
Le code fonctionne correctement dans la 1e vidéo.
Dans la vidéo du tableau, le code bogue au niveau de l'instruction :
' Récupération de la distance entre les deux villes
.Cells(L, 6) = Split(Split(TXT, "id=""distanciaRuta"">")(1), "</strong>")(0)
une fenêtre apparait alors
" Erreur d'exécution '9'
L'indice n'appartient pas à la sélection"
Dans une réponse que vous avez faite à un autre internaute, vous dites :
"Vérifiez la syntaxe
Vous avez un objet mal nommé"
Je vous fait parvenir l'ensemble de mon code qui est, je crois, après vérification conforme à celui que vous donnez dans votre vidéo (simplement, je ne fais le calcul que pour la distance et je commence à la ligne 2). Pourriez vous avoir l'obligeance de me dire quel est l'objet que j'aurais, d'après vous mal nommé

Option Explicit
'Déclaration d'une constante :
Sub CalculeTrajetTableau()
' Déclaration des Variables
Dim NbLigne As Long, L As Long
Dim URL As String, TXT As String
' Affectation des variables
NbLigne =
With ActiveSheet
For L = 2 To NbLigne
' Donner les coordonnées de la cellule de départ ici la cellule située à la ie ligne et la 6e colonne
.Cells(L, 5).Select
URL = DIST & ActiveCell.Offset(0, -2) & "&destination" & ActiveCell.Offset(0, -1)
With
.Open "GET", URL, False
.Send
TXT = .responseText
MsgBox TXT
End With
' Récupération de la distance entre les deux villes
.Cells(L, 6) = Split(Split(TXT, "id=""distanciaRuta"">")(1), "</strong>")(0)
Next L
End With
End Sub

J'ai essayé de résoudre le problème en tentant de sélectionner une partie de la chaine pouvant donner le résultat en recherchant le début de cette partie de chaine avec l'instruction
en essayant le code suivant :
'Déclaration d'une constante :

Sub RechercheChaine()
' RechercheChaine Macro
Dim TXT As String
Dim Y As String
Dim Result As Single
'Construction du lien URL
URL = DIST & LieuDépart & "&destination=" & LieuArrivée
With
.Open "GET", URL, False
.Send
TXT = .ResponseText
'TXT = "et il ya <strong id=""distanciaRuta"">101 km</strong> par la route."
MsgBox TXT
End With
Y = "id=""distanciaRuta"">"
Result = InStr(1, TXT, Y)
MsgBox Result
'Extraction de la distance en kilomètres à partir de la page Web et affichage dans la cellule B5
Range("C11") = Split(Split(TXT, "id=""distanciaRuta"">")(1), "</strong>")(0)
MsgBox Range("C11")
End Sub

Dans le cas où j'utilise la variable TXT =.ResposeTXT, j'obtiens la valeur0 dans la MsgBox Result ce qui signifie qu'il n'y pas de chaine de texte détecté avec la variable TXT = .ResponseText
ensuite le code bugue à la ligne :
Range("C11") = Split(Split(TXT, "id=""distanciaRuta"">")(1), "</strong>")(0)

En revanche, Si j'utilise la variable TXT = "et il ya <strong id=""distanciaRuta"">101 km</strong> par la route."
l'instruction MsgBox Result me renvoie la valeur 18 ce qui est bien la position du "i" de la chaine "id=" dans l'ensemble de la chaine
et l'instructuib Msg Range("C11") 101 km

jean-jacquesbenomard