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 :

Fonction convertion adresses postal GPS


Sujet :

Macros et VBA Excel

  1. #41
    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
    peut être que cela marche mieux parce que l'api Google a été mis a jour en juin dernier

    j'ai pas bien regarder ton urlencode mais au premier regard tu semble recoder juste les points c'est bien ca ??
    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

  2. #42
    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
    Bonjour, bonjour !

    Citation Envoyé par Al__22 Voir le message
    Je sais pas trop ou vous en êtes dans cette discussion mais juste comme ça (ça fait déjà quelque mois que je l'utilise sans problème
    Il y a déjà autant de solutions que d'intervenants ‼

    Sinon pour rappel, depuis la version 2013 Excel dispose déjà de WorksheetFunction.EncodeUrl

    Et pour les versions précédentes, cela nécessite guère plus de 3 lignes de code comme dans cette discussion !

    Voilà, voilà !
    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)

  3. #43
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    j'ai pas bien regarder ton urlencode mais au premier regard tu semble recoder juste les points c'est bien ca ??
    Jawol (enfin plus ou moins)

    Et pour les versions précédentes, cela nécessite guère plus de 3 lignes de code comme dans cette discussion !
    Génial, c'est encore mieux ! Je t'aime !

    Sinon pour rappel, depuis la version 2013 Excel dispose déjà de WorksheetFunction.EncodeUrl
    Euh... Je suis sur 2007

    Mais merci beaucoup Marc-L
    C'est en creusant qu'on fait des trous

  4. #44
    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 Al__22 Voir le message
    Euh... Je suis sur 2007
    Citation Envoyé par Marc-L Voir le message
    Et pour les versions précédentes, cela nécessite guère plus de 3 lignes de code comme dans cette discussion !
    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. #45
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    Citation Envoyé par Al__22 Voir le message
    Génial, c'est encore mieux ! Je t'aime !
    Juste au dessus
    C'est en creusant qu'on fait des trous

  6. #46
    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




    Autant pour moi ! J'ai été obnubilé par le smiley …
    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. #47
    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
    Marc
    je me suis dit pourquoi!! pas!!! après tout ca mange pas de pain
    j'ai donc pris ta fonction sur le lien
    et donc encoder les arguments de l'url

    et ben ca me fait un truc bizarre et bien sur une erreur d'url invalide
    regarde dans le debug dans la capture
    Nom : Capture.JPG
Affichages : 271
Taille : 142,1 Ko
    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

  8. #48
    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



    Sans poster ton code, je suis dans le brouillard !

    Mais de toute manière, cette fonction ne doit être utilisée que pour les sites qui en ont besoin
    car si ton URL en texte normal passe, à quoi bon ?!

    Les rares fois où j'ai dû l'utiliser, je n'ai pas rencontré de souci …
    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. #49
    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
    oui visiblement googlemaps n'en a pas besoins

    j'ai même supprimé les replace sur les espaces et ca passe quand même

    bon voila l'ébauche de la requête de la futur version de ma contrib sur les trajet avec detail

    on constate que quand on fait la requête en xml et en mode "POST" le header de requête n'est pas requis
    conclusion a quoi bon (parsejsonner ( a mettre dans le dictionnaire le petit Patrick) quand on peut manipuler les nodes du xml
    voila l'ebauche
    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
     
    Function Convert2URL$(TXT$)
        With CreateObject("MSScriptControl.ScriptControl")
            .Language = "JScript"
            .AddCode "function encode(txt) {return encodeURIComponent(txt);}"
            Convert2URL = .Run("encode", TXT)
        End With
    End Function
     
    Function itigoogle(dep, fin)
        Dim REQ As Object, url$, googleResult As Object, etape As Object, duré As Object, distance As Object, i%
        Set REQ = CreateObject("microsoft.xmlhttp")
        Set googleResult = CreateObject("MSXML2.DOMDocument")
        url = "http://maps.google.fr/maps/api/directions/xml?origin=" & dep & "&destination=" & fin
        Debug.Print url
        With REQ
            .Open "POST", url, False
            '.setRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
            '.setRequestHeader "Accept-Language", "fr-FR"
            '.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
            '.setRequestHeader "Accept-Encoding", "gzip, deflate"
            '.setRequestHeader "Host", "maps.google.fr"
            '.setRequestHeader "Connection", "Keep - Alive"
            '.setRequestHeader "Cache-Control", "no-cache"
            .send
     
            googleResult.LoadXML (REQ.responsetext)
            Set etape = googleResult.getElementsByTagName("html_instructions")
            Set distance = googleResult.getElementsByTagName("distance")
            Set duré = googleResult.getElementsByTagName("duration")
            ReDim tableau(etape.Length, 7)
            For i = 0 To etape.Length - 1
                tableau(i, 0) = Replace(Replace(Replace(etape(i).Text, "<b>", ""), "</b>", ""), "/D", " par la D ")
                tableau(i, 0) = Replace(Replace(tableau(i, 0), "<div style=""font-size:0.9em"">", "  "), "</div>", "")
                tableau(i, 1) = distance(i).ChildNodes(1).Text
                tableau(i, 2) = duré(i).ChildNodes(1).Text
            Next
            itigoogle = tableau
        End With
     
    End Function
     
    Sub test()
        Cells.ClearContents
        tabl = itigoogle("257 chemin de forgentier  toulon", "paris 75000")
        Cells(1, 1).Resize(1, 3) = Array("Detail de l'étape ", "Distance a parcourir ", "temps estimé")
        Cells(2, 1).Resize(UBound(tabl), 3) = tabl
    End Sub
    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

  10. #50
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    J'ai ajouté un timer pour éviter d'envoyer trop de requêtes à la fois savez-vous si ont peut la positionner à la milliseconde?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Wait Now + TimeValue("00:00:01")
    ha trouvé...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Wait (Now + 0.000005)
    Pour info à 0.5s j'ai des erreurs, 0 faute à 0,7s

  11. #51
    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
    la on est encore dans une gestion d'attente

    peut être un do/loop until status=200 avec un timer de rupture serait plus indiqué non? cela éviterait de sleeper pendant trop longtemps

    a mediter
    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

  12. #52
    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



    Salut,

    oui via une boucle d'attente avec une simple variable date à comparer avec Now.

    Mais si le Wait à 0.00001 fonctionne, à quoi bon …
    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)

  13. #53
    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
    Mais si le Wait à 0.00001 fonctionne, à quoi bon …

    selon les point 1 seconde est juste
    le mieux selon moi c'est d'attendre le status 200 et même tester le string
    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.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Tranformer coordonnées GPS en adresses postales
    Par vwtroudy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2021, 00h10
  2. verification adresse postale
    Par manu80000 dans le forum Delphi
    Réponses: 2
    Dernier message: 28/06/2006, 12h27
  3. [SQL Server] fonction CONVERT
    Par dieudo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/02/2006, 13h08
  4. la fonction convert
    Par sidharta dans le forum Langage SQL
    Réponses: 3
    Dernier message: 27/12/2005, 19h39
  5. fonctions CONVERT
    Par lilipuce83 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/05/2004, 12h27

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