Distancier via Michelin

LEILUS

XLDnaute Nouveau
Bonjour,

Novice sur le sujet, j'aurai besoin d'aide afin d'alimenter un distancier de manière automatique. J'ai un nombre de distance important à enrichir, environ 10 000 et dans l'obligation d'utiliser via michelin, distance la plus courte. Quelqu'un a t'il une solution ? Cela me serait d'un grand secours !

Je joins le format de fichier que je dois utiliser,

D'avance un grand merci
Leilus
 

Pièces jointes

  • Distancier test.xlsx
    65.7 KB · Affichages: 197

LEILUS

XLDnaute Nouveau
Bonjour,

Novice sur le sujet, j'aurai besoin d'aide afin d'alimenter un distancier de manière automatique. J'ai un nombre de distance important à enrichir, environ 10 000 et dans l'obligation d'utiliser via michelin, distance la plus courte. Quelqu'un a t'il une solution ? Cela me serait d'un grand secours !

Je joins le format de fichier que je dois utiliser,

D'avance un grand merci
Leilus


Bonjour,

Cela vous paraît possible ? ou Dois je malheureusement d'ores et déjà commencer à chercher les distances manuellement ?

Merci
 

LEILUS

XLDnaute Nouveau
C'est encore moi... J'ai trouvé cette macro sur le net ; Pensez-vous que je puisse l'adapter à mon fichier ?

Sub RechercheVBAExcel()
Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputmichelinZoneTexte As HTMLInputElement
Dim InputmichelinBouton As HTMLFormElement


'Chargement d'une page Web michelin
IE.navigate "http://www.viamichelin.fr/web/Itineraires"

'Affichage de la fenêtre IE
IE.Visible = True

'On attend le chargement complet de la page
WaitIE IE

For i = 1 To 10
DoEvents
Next
'On pointe le membre Document
Set IEDoc = IE.document

'On pointe notre Zone de texte de depart
Set InputmichelinZoneTexte = IEDoc.all("strDepartureAddress")

'On définit le texte que l'on souhaite placer à l'intérieur
InputmichelinZoneTexte.Value = "Vaujours 93410"

'On pointe notre Zone de texte d'arrivee
Set InputmichelinZoneTexte = IEDoc.all("strArrivalAddress")

'On définit le texte que l'on souhaite placer à l'intérieur
InputmichelinZoneTexte.Value = "raincy 93340"


'On pointe notre bouton
Set InputmichelinBouton = IEDoc.forms("itiSearchZone")(0)

'On simule un clic
InputmichelinBouton.submit

'On attend la fin de la recherche
WaitIE IE

'On libère les variables
Set IE = Nothing
Set IEDoc = Nothing
End Sub
Bonjour,

Cela vous paraît possible ? ou Dois je malheureusement d'ores et déjà commencer à chercher les distances manuellement ?

Merci
 

LEILUS

XLDnaute Nouveau

LEILUS

XLDnaute Nouveau
Bonjour,

Je cherche désespérément une solution et modifié le début de la macro, ça ouvre bien la page via Michelin mais je suis bloquée ; la zone départ ne parvenant pas à être pointée... soit à partir d'ici : Set InputmichelinZoneTexte = IEDoc.all("Departure")

Quelqu'un aurait la solution svp ?



Sub RechercheVBAExcel()
'Déclaration des variables
Dim IE
Dim IEDoc
Dim InputmichelinZoneTexte
Dim InputmichelinBouton


'Chargement d'une page Web via michelin
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "https://www.viamichelin.fr/web/Itineraires"

'Affichage de la fenêtre IE
IE.Visible = True

'On attend le chargement complet de la page
Do While IE.Busy
Application.Wait DateAdd("s", 10, Now)
Loop


For i = 1 To 10
DoEvents
Next
'On pointe le membre Document
Set IEDoc = IE.document

'On pointe notre Zone de texte de depart
Set InputmichelinZoneTexte = IEDoc.all("Departure")

'On définit le texte que l'on souhaite placer à l'intérieur
InputmichelinZoneTexte.Value = "Vaujours 93410"

'On pointe notre Zone de texte d'arrivee
Set InputmichelinZoneTexte = IEDoc.all("strArrivalAddress")

'On définit le texte que l'on souhaite placer à l'intérieur
InputmichelinZoneTexte.Value = "raincy 93340"


'On pointe notre bouton
Set InputmichelinBouton = IEDoc.forms("itiSearchZone")(6)

'On simule un clic
InputmichelinBouton.submit

'On attend le chargement complet de la page
Do While IE.Busy
Application.Wait DateAdd("s", 10, Now)
Loop


'On libère les variables
Set IE = Nothing
Set IEDoc = Nothing
End Sub
 

patricktoulon

XLDnaute Barbatruc
la page via Michelin a une protection anti robot c'est pour ça que tu n'arrive pas a pointer les inputs
on peut la contourner j'ai testé mais c'est encore plus de code a executer
en plus de ca Michelin converti en point latitude longitude etc... pour creer le parcours
il es yper long
le temps que tu récupère tes 10000 distance on se déplacera en aéronef
dommage pour gmap sinon je t'aurais donné la solution avec une requete (l'object microsoft.xmlhttp) c'est beaucoup plus rapide mais limiter en nombre de requête Michelin aussi d'ailleurs
t'a du café prépare toi en ...t'a plusieurs jour/nuit devant toi pour tes 10000 distances lol
 

LEILUS

XLDnaute Nouveau
la page via Michelin a une protection anti robot c'est pour ça que tu n'arrive pas a pointer les inputs
on peut la contourner j'ai testé mais c'est encore plus de code a executer
en plus de ca Michelin converti en point latitude longitude etc... pour creer le parcours
il es yper long
le temps que tu récupère tes 10000 distance on se déplacera en aéronef
dommage pour gmap sinon je t'aurais donné la solution avec une requete (l'object microsoft.xmlhttp) c'est beaucoup plus rapide mais limiter en nombre de requête Michelin aussi d'ailleurs
t'a du café prépare toi en ...t'a plusieurs jour/nuit devant toi pour tes 10000 distances lol

Je comprends mieux du coup..sniiiiifff
merci @patricktoulon