IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Résultat d'une requête Web à rapatrier dans un classeur Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #21
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Là ce site de la RATP est vraiment le cas d'école standard :

    • Attente de la fin de l'ouverture de la page initiale via WaitIE IE

    • Attente de la fin de la mise à jour de la page tant que IEDoc.readyState <> "complete"
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  2. #22
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Sinon, pas rien à voir, mais bon...


    J'avance dans la lecture de mon ouvrage VBA mais ça ne donne pas non plus toutes les solutions !


    Pour coller le résultat la requête, le code est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Feuil1.Cells(iElement, "C").Value = Trim(ElemGen.Children(iElement).innerText)

    sauf que moi, je souhaiterais faire une boucle. Donc plusieurs questions.

    Est ce que je fais une boucle du style "Je déclare ma boucle dans une nouvelle variable "Boucle_RATP" et j'appelle ma variable "PremierIE"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub boucle_for()
     
        For i = 1 To 300 '300 en exemple
            'Sub PremierIE
        Next
     
    End Sub

    J'ai essayé d'adapter le code vu sur un post :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub lien()
    derli = Cells(65000, 1).End(xlUp).Row
       On Error Resume Next
        For i = 1 To derli
        navurl = Cells(i, 1).Hyperlinks(1).Address
        Cells(i, 5) = navurl
        Next i
    End Sub
    Sachant que, je sais, ce ne sont pas des URL dans ma colonne, mais le ".End(xlUp).Row" et le "For i = 1 to derli" m"intéressait.
    Mais à bloque.

    Après, le souci, c'est que je ne peux pas la faire (la boucle) car deux choses me bloquent :

    Aller chercher la valeur "adresse d'origine" dans ma colonne A
    Aller chercher la valeur "adresse destination" dans ma colonne B, sur la même ligne que l'adresse d'origine

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InputRatpOrigineZoneTexte.Value = ActiveCell(2, 1)
    Là, j'ai essayé des codes avec .Offset (0,0), par rapport à ma cellule active qui serait en A2 par exemple mais non...
    pareil pour la destination...

    Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            Feuil1.Cells(iElement, "C").Value = Trim(ElemGen.Children(iElement).innerText)
    Après, j'ai essayé des codes avec également .Offset (0,1), même ligne, une colonne à droite de la "B" (destination)", les ActiveCells... mais ça ne passe pas !

    Bref, j'ai des prémices mais rien ne passe car dans la rudesse de sieur Code, toute erreur est sanctionnée négativement aussi sec ! ça passe pas !

  3. #23
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 898
    Points : 8 529
    Points
    8 529
    Par défaut
    Salut

    Dans ces cas la, j'utilise souvent le for each.

    Voila un exemple de ce qui peut-être fait (je n'ai rien testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Sub XMLReq_RATP_Boucle()
    'Cette sub va interroger le serveur
    'Il faut activer la bibliothèque Microsoft WinHTTP Service et M$ MSXML
    Dim DemandeFichier As MSXML2.XMLHTTP, URL As String
    Dim IEDoc As New HTMLDocument
    Dim FSys As Object, MonFic
    Dim texte As String
    Dim ElemGen As HTMLGenericElement
    Dim TheCell As Range
        'On bloque la mise à jour de l'écran
        'Application.ScreenUpdating = False
     
        'On boucle sur les cellules de la colonne A
        With Feuil1
            For Each TheCell In .Range("A2", .Cells(.Rows.Count, "A").End(xlUp))
     
                'On définie l'URL
                'URL = "http://www.ratp.fr/itineraires/fr/ratp/resultat-detaille/start/15+Av.+des+Champs-%C3%89lys%C3%A9es+75008+Paris/end/69+Boulevard+de+la+Villette+75010+Paris/is_date_start/1/date/2014-11-25/time/07%3A25%3A00/route_type/plus_rapide"
                'On va chercher les adresses et infos qui constitues l'URL, départ dans la colonne A, arrivée dans la colonne B, date en colonne C, ....
                URL = encodeURL("http://www.ratp.fr/itineraires/fr/ratp/resultat-detaille/start/" & TheCell.Value & "/end/" & TheCell.Offset(0, 1).Value & "/is_date_start/1/date/" & TheCell.Offset(0, 2).Value) '&....
                'On instancie
                Set DemandeFichier = CreateObject("Microsoft.XMLHTTP")
     
                'On génère la requête
                DemandeFichier.Open "POST", URL, False
                DemandeFichier.setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
                DemandeFichier.setRequestHeader "Accept-Encoding", "gzip , deflate"
                DemandeFichier.setRequestHeader "Content-Type", "text/html; charset=utf-8"
                'DemandeFichier.setRequestHeader "Content-Length", "240"
                DemandeFichier.setRequestHeader "Cache-Control", "    no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
                DemandeFichier.setRequestHeader "Accept-Language", "fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3"
                DemandeFichier.setRequestHeader "Connection", "keep-alive"
                DemandeFichier.setRequestHeader "Host", "www.ratp.fr"
                DemandeFichier.setRequestHeader "Pragma", "no-cache"  'Ajouté
                DemandeFichier.setRequestHeader "Referer", URL
                DemandeFichier.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.0; rv:29.0) Gecko/20100101 Firefox/29.0"
     
                'On envoie la requete
                DemandeFichier.send
     
                'On place la page web reçu en retour dans un document web
                IEDoc.body.innerHTML = DemandeFichier.responseText
     
                'On recherche l'élément contenant la liste DL DT
                Set ElemGen = IEDoc.getElementsByClassName("box switch-details")(0)
     
                'Ensuite tu retrouves le même code pour aller chercher tes éléments dans la page que te retourne le serveur
                'La partie demande est bien plus rapide ainsi.
                '....
                'On place l'info recherchée dans la 11ème colonne
                TheCell.Offset(0, 10).Value = Trim(ElemGen.Children(3).innerText)
                '...
            Next
        End With
     
    End Sub
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  4. #24
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Ou encore comme indiqué dans le post #14 :

    Citation Envoyé par Marc-L Voir le message
    yuck, si les adresses sont en un seul bloc (sans colonne ni ligne vide), (Alors ?)
    voir les propriétés CurrentRegion, Rows, Columns, Count et Cells pour les parcourir, le tout englobé dans une boucle …
    Sans ligne de titre, utilisation de l'instruction For Each … Next combinée à Offset;

    sinon une simple boucle For … Next avec un compteur de lignes combinée à Cells en adaptant la procédure Demo2
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #25
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Qwazerty...


    MERCI !

    C'est enfin le résultat que je voulais !

    Au début, ça ne fonctionnait pas car

    "URL = encodeURL" était à remplacer par "URL = URLEncode"

    mais ça, j'ai mis 5 minutes à le trouver (voire un peu plus...)

    Et après, ça bloquait au niveau du

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DemandeFichier.Open "POST", URL, False

    J'ai d'abord cru que c'était le code qui déconnait, j'ai essayé "GET" à la place de "POST", false > True....

    Mais en mettant un espion sur URL (après l'avoir suvolé avec ma souris), j'ai vu que l'URL générée n'était pas bonne.

    Bref, pour coller à la base RATP, j'ai complété la ligne encodeURL avec les données des heures ...
    et j'ai agit sur le Sub URLEncode, en y ajoutant des caractères et en indiquant ce qu'il fallait remplacer


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Public Function URLEncode( _
       StringVal As String, _
       Optional SpaceAsPlus As Boolean = False _
    ) As String
     
      Dim StringLen As Long: StringLen = Len(StringVal)
     
      If StringLen > 0 Then
        ReDim result(StringLen) As String
        Dim i As Long, CharCode As Integer
        Dim Char As String, Space As String
     
        If SpaceAsPlus Then Space = "+" Else Space = "%20"
     
        For i = 1 To StringLen
          Char = Mid$(StringVal, i, 1)
          CharCode = Asc(Char)
          Select Case CharCode
            Case 97 To 122, 65 To 90, 48 To 57, 45, 46, 47, 58, 95, 126 '47 et 58 ajouté
              result(i) = Char
            Case 32 'ajouté
              result(i) = "+"
            Case 0 To 15
              result(i) = "%0" & Hex(CharCode)
            Case 233 'ajouté
              result(i) = "%C3%A9"
            Case Else
              result(i) = "%" & Hex(CharCode)
          End Select
        Next i
        URLEncode = Join(result, "")
      End If
    End Function
    Je me suis aidé du site suivant
    http://www.gtwiki.org/mwiki/?title=VB_Chr_Values


    Bref, un très très très grand merci à tous et particulièrement à Qwazerty

    Là ça tourne.
    Je vais essayer de progresser en VBA et pourquoi pas essayer de faire passer la boucle quand il ne trouve pas, à la requête suivante.

    Dans tous les cas, un grand merci !

  6. #26
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Je croyais les adresses en majuscules comme affirmé dans le post #13 !

    Franchement tu as galéré malgré la présence d'un code déjà opérationnel de conversion dans le post #16, purée ‼

    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #27
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Je n'ai pas menti
    Dans mon cas, le fichier contenait uniquement des majuscules... demain, cela se présentera peut-être différemment.

    Je traite le code que j'arrive à comprendre (à minima). Marc-L, tu écris du code qui est très performant mais dont je ne comprends pas grand chose.
    Le but pour moi est de comprendre ce que j'écris et ce que j'exécute. Il ne suffit pas de faire un copier/coller du code post#16 pour que ça fonctionne.
    Mon but est de le faire sur le site des transports de paris et pourquoi pas sur d'autres moteur de recherche, d'où ma nécessité de comprendre le code !

    Donc, oui, effectivement, j'ai galéré mais je comprends le pourquoi du comment plutôt que d'appliquer une procédure dont je ne comprends quasiment rien.
    Lorsque j'appréhenderais mieux le VBA, je pourrais reconsidérer tes propositions.

    Je te remercie néanmoins pour tout car à lire tes propositions de code, ça sent l'optimisation maximale

  8. #28
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut


    Citation Envoyé par _yuck_ Voir le message
    j'ai galéré mais je comprends le pourquoi du comment plutôt que d'appliquer une procédure dont je ne comprends quasiment rien.
    C'est tout à ton honneur, cela change du classique copieur / colleur !



    _________________________________________________________________________________________________
    Copier / Coller n'est pas programmer !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  9. #29
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    yuck,

    tu tu joins un classeur en .xlsx (sans macro) avec quelques parcours à calculer
    et le résultat affiché pour les deux premiers (question de présentation car mes perches sont restées sans réponse …),
    je pourrais te proposer une ultime procédure à étudier les longues soirées d'hiver au coin du feu !



    _________________________________________________________________________________________________
    Si déboguer est l’art de corriger les bogues, alors programmer est l’art d’en faire !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  10. #30
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Hello

    Je mets le fichier, sans macro.
    Le "truc" c'est que j'ai mis les dates et l'heure de départ au format texte, afin qu'il inverse l'année-mois-jour et qu'il affiche les secondes.... nécessaires à la requête.

    Je suis preneur d'une ultime procédure


    Là, je vais me concentrer sur les erreurs et leur gestion car le code s'arrête quand le moteur de la RATP ne trouve pas.
    Il faut d'abord que je commence par dire de lire les données sur la cellule active (la ligne en gros) et qu'il déplace la cellule active au fil du temps et qu'il reprenne, en cas de blocage, à la ligne d'en dessous, sauf s'il est vide.

    Voilà
    Fichiers attachés Fichiers attachés

  11. #31
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut




    Concernant les dates, pas de souci avec des cellules au format date ou texte en français "jj/mm/aaaa";
    idem pour des heures sans les secondes comme dans les codes 2 & 3 du post #8 …

    Pour « quand le moteur de la RATP ne trouve pas » c'est normalement déjà géré dans ces codes
    mais je suis preneur d'un couple d'adresses provoquant ce cas afin de pouvoir tester.

    Avec un bloc contigu d'adresses, la propriété CurrentRegion combinée à une boucle sont idéales …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  12. #32
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Je vais regarder les codes des post #8


    Sinon, pour une adresse qui bloque "en direction de ou depuis"

    36, RUE CLOVIS JACQUIERTS, 51000, CHALON-EN-CHAMPAGNE
    Le site indique : "Adresse d’arrivée inconnue, veuillez reformuler votre demande."
    Mais il ne génère pas d'URL car il bloque la création de ladite URL qui ne donnerait rien.
    Normal, la RATP ne va pas jusqu'à cette ville



    Après, il y a des origine-destination qui ont des résultats à 6H du matin mais pas à 8H
    Par exemple :
    4, RUE DES GOBELINS, 78790, MONTCHAUVET > 75, AVENUE DES CHAMPS-ELYSEES, 75008, PARIS
    Là message d'erreur, pour la requête de 8H "Aucun trajet ne correspond à votre recherche."
    En fait, il a des services tôt le matin, mais plus après


    Voilà

  13. #33
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    serait il possible d'avoir une liste de départ/ arrivée la plus complète possible?

    je te le demande parce que je ne l'ai pas trouver sur le site
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #34
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    POST#30, il y a un fichier avec 3 exemples

    Ils sont complets avec
    ORIGINE
    DESTINATION
    DATE DE DEPART
    HEURE DE DEPART
    TEMPS DE PARCOURS (résultat de la requête)


    si c'est bien de ça dont tu parles.

  15. #35
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    il y a que 3 depart/arrivée

    je suis pas sur que ca le soit ?

    bonjour

    comme mon pseudo l'indique je suis de Toulon
    alors paris pour moi c'est loin

    je ne connais pas les rues etc......
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #36
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Citation Envoyé par _yuck_ Voir le message
    Après, il y a des origine-destination qui ont des résultats à 6H du matin mais pas à 8HPar exemple :
    4, RUE DES GOBELINS, 78790, MONTCHAUVET > 75, AVENUE DES CHAMPS-ELYSEES, 75008, PARIS
    Là message d'erreur, pour la requête de 8H "Aucun trajet ne correspond à votre recherche."
    J'ai un résultat de mon côté à 8h00 : 2 h 10 min …

    Sinon en intégrant tes deux adresses supplémentaires plus celles du début en minuscules,
    cela fait une base de six parcours à calculer, suffisante dans un premier temps …


    Patrick, ne sachant pas la quantité réelle de parcours à calculer et la volonté de _yuck_ de comprendre les codes VBA,
    merci de ne pas proposer une voie avec des abeilles ou des noisettes, laissons-le d'abord digérer !
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  17. #37
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Tu souhaiterais plus de "couple" Origine-Destination ? c'est bien ça ?

    je partais du principe que si ça fonctionne...ça fonctionne

    Si tu le souhaites, je peux en ajouter

  18. #38
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    t'inquiet Marc les abeille je les gardes pour la fin

    non j'ai parcouru le post et Stéphane a proposer l'utilisation d'une requête

    j'ai un peu remanier son code et ca pourrait fonctionner

    par contre il faut le lieu de départ et la destination

    dans son exemple il y en a que 3 alors c'est vite fait 8 seconde chez moi pour 3 requête en boucle vba( pas les abeilles )

    pour les noisettes je travaille encore pour faire une version stable


    yuck: oui c'est ca je veux plus de couple de lieu (départ/destination )
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  19. #39
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Octobre 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2014
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    J'ai un résultat de mon côté à 8h00 : 2 h 10 min …

    Sinon en intégrant tes deux adresses supplémentaires plus celles du début en minuscules,
    cela fait une base de six parcours à calculer, suffisante dans un premier temps …


    Patrick, ne sachant pas la quantité réelle de parcours à calculer et la volonté de _yuck_ de comprendre les codes VBA,
    merci de ne pas proposer une voie avec des abeilles ou des noisettes, laissons-le d'abord digérer !
    Oui, c'est vrai, sauf si tu changes de date... si tu passes au 26/11/2014, un mercredi, y a pas.
    Bref, ce n'est peut-être pas le meilleur exemple du monde, mais ça existe.

    La quantité réelle va jusqu'à 500 OD sur des créneaux horaires allant de 6h00 à 9h00. reste à définir le pas. Si l'on prend un trajet toutes les 1/2 heures
    Cela fait 500 * 7 = 3500 requêtes.

    J'ai "généré" des adresses, souvent que des codes postaux mais ça passe aussi. Cela permet de tester 2000 OD.


    A noter que j'ai triplé mon code afin d'avoir les résultats pour 6h00, 7h00 et 8h00. Mais là, pas besoin.


    Par contre, je l'avais évoqué mais j'ai un souci entre la version du code qui fonctionne parfaitement chez moi et qui plante sur mon pc de boulot.
    De la sorte que je ne peux pas tester vos propositions sur mon pc de travail
    PC Home : Vista 32 bits , Office 2010 32 bits
    PC travail: W7 64 bits, Office 2013 64 bits

    Y a-t-il une solution ?
    Fichiers attachés Fichiers attachés

  20. #40
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    et oui encore le même problème

    les version de Windows et IE

    c'est pour cela que je verrais mieux des requêtes plutôt que IE l'object(Microsoft.xmlhttp)n'ayant pratiquement rien changé depuis XP
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/02/2013, 15h25
  2. Afficher le résultat d'une requête MySQL comme dans phpMyAdmin
    Par mathieu dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 0
    Dernier message: 14/02/2011, 18h48
  3. [AC-2003] Tester si une cellule est vide dans un classeur excel et faire une boucle
    Par moilou2 dans le forum VBA Access
    Réponses: 11
    Dernier message: 19/08/2009, 09h34
  4. afficher résultat d'une requête dans page web(ici jsp)
    Par troussepoil dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 14/06/2009, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo