1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Distancier via Michelin

Discussion dans 'Forum Excel' démarrée par LEILUS, 11 Juillet 2018.

  1. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    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:

  2. Chargement...

    Discussions similaires - Distancier via Michelin Forum Date
    Distancier KM Forum Excel 9 Novembre 2017
    XL 2010 Distancier vba Autoroutes.fr Forum Excel 28 Mars 2017
    DISTANCIER Forum Excel 16 Janvier 2017
    XL 2013 Creation d'un distancier avec VBA Forum Excel 16 Mars 2016
    Distancier sur Excel help Forum Excel 8 Février 2016

  3. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0

    Bonjour,

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

    Merci
     
  4. Staple1600

    Staple1600 XLDnaute Barbatruc

    Inscrit depuis le :
    24 Juin 2005
    Messages :
    24536
    "J'aime" reçus :
    1080
    Habite à:
    Roahzon
    Utilise:
    Excel 2013 (PC)
  5. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    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
     
  6. Staple1600

    Staple1600 XLDnaute Barbatruc

    Inscrit depuis le :
    24 Juin 2005
    Messages :
    24536
    "J'aime" reçus :
    1080
    Habite à:
    Roahzon
    Utilise:
    Excel 2013 (PC)
    Re,

    @LEILUS
    Apparemment tu poses des questions, mais tu oublies de commenter les réponses qu'on te donne
    (voir le message#3 de cette discussion... :rolleyes: )
     
  7. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
  8. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    @Staple1600 Je crois que ma réponse et ta remarque se sont croisés ;)...
     
  9. Staple1600

    Staple1600 XLDnaute Barbatruc

    Inscrit depuis le :
    24 Juin 2005
    Messages :
    24536
    "J'aime" reçus :
    1080
    Habite à:
    Roahzon
    Utilise:
    Excel 2013 (PC)
  10. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    @Staple1600 c’est réglementaire dans ce cas précis et je n’ai vraiment pas le choix. La distance entre 2 destinations doit impérativement être fournie par ce site
     
  11. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    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
     
  12. patricktoulon

    patricktoulon XLDnaute Junior

    Inscrit depuis le :
    9 Novembre 2010
    Messages :
    94
    "J'aime" reçus :
    14
    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
     
  13. Staple1600

    Staple1600 XLDnaute Barbatruc

    Inscrit depuis le :
    24 Juin 2005
    Messages :
    24536
    "J'aime" reçus :
    1080
    Habite à:
    Roahzon
    Utilise:
    Excel 2013 (PC)
  14. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    Je comprends mieux du coup..sniiiiifff
    merci @patricktoulon
     
  15. LEILUS

    LEILUS XLDnaute Nouveau

    Inscrit depuis le :
    11 Juillet 2018
    Messages :
    9
    "J'aime" reçus :
    0
    @Staple1600 A priori et à moins que je ne me trompe, l’Api Michelin ne permet pas d’effectuer ce type de requêtes
     
  16. Staple1600

    Staple1600 XLDnaute Barbatruc

    Inscrit depuis le :
    24 Juin 2005
    Messages :
    24536
    "J'aime" reçus :
    1080
    Habite à:
    Roahzon
    Utilise:
    Excel 2013 (PC)

Partager cette page