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 :

Piloter la fenetre windows en vba


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
    re
    Bonjour davido
    chez moi ie 11 ca marche a tout les coups
    c'est bizarre ton truc ??????
    même en réduisant mon débit a 200K

    attention surtout a l'affichage en effet si tu a une carte graphique un peu pantouflarde il est possible que tu passe a coté étant donné que IE doit etre visible pour manipuler les boutons
    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


    Non seulement la version d'IE est à prendre en compte mais parfois celle de Windows aussi …

    Car on a vu précédemment sur ce forum avec Patrick un code ne pas fonctionner sous Seven & IE10
    mais sans souci sous Windows 8 & IE10 !

    Quant à IE11, j'ai effectivement des codes ne fonctionnant plus sous cette version alors que de IE8 à IE10 aucun souci …

    David, tu ne serais pas sur Windows 10 ?
    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
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Citation Envoyé par Marc-L Voir le message
    David, tu ne serais pas sur Windows 10 ?
    Si Marc. Pourquoi tu penses que c'est ça qui crée ce problème ?
    A+

  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

    Il y a des chances vu ce que j'ai déjà constaté entre IE10 & Windows 8 (code ok) et IE10 & Seven (même code en échec)
    et comme pour Patrick cela fonctionne avec IE11 & Seven …

    Le pilotage d'IE dépend non seulement de sa version mais aussi de celle de Windows !

    La version d'Excel influe peu sauf en quittant IE pour les versions inférieures à 2007, il faut parfois réactiver la fenêtre d'Excel;
    comme pour les versions supérieures à 2003 il faut parfois activer la fenêtre d'IE avant de simuler des touches du clavier …

    Bref vive les requêtes quand c'est possible !
    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
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Ok et bien je ne pensais pas que cela jouait et comme je n'étais orienté sur la recherche du résultat via une requête je ne m'étais pas attardé sur le pilotage d'IE.
    J'avais juste remarqué que le nombre de téléchargement était limité en pilotant IE alors qu'il n'y a pas de problème via une requête.
    Bref vive les requêtes quand c'est possible !
    Mais là c'est possible mais la requête est plutôt musclée et à rallonge !
    Je n'ai pas posté parce que la discussion s'était orientée vers le pilotage d'IE mais si cela cela t'intéresse je peux éventuellement placer un petit fichier test.
    A+

  6. #46
    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
    oui mais la requête elle est Cotton vu l'argument du send nécessaire une bonne chaine en base 64 on s'amuse comme des fous ici !!!!
    voir capture
    Nom : Capture.JPG
Affichages : 293
Taille : 226,2 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

  7. #47
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Coton oui mais possible !
    Je ne vois pas l'ensemble de la requête sur ta capture d'écran mais il y a des parties qui sont optionnelles donc on peut la réduire mais cela reste une requête à rallonge.
    Après, je préfère malgré tout passer par une requête (même à rallonge) que par le pilotage d'IE.
    De quel navigateur (et quelle version) est issu l'outil de développement de ta capture d'écran ?
    A+

  8. #48
    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
    Bonjour Davido
    la capture est issue de IE 11 version pour Windows 7 64 bits qui est un peu différente de celle de W 8 ou 10
    plus précisément la version 11.0.9600.18347( dernière version absolue pour W7 )

    après j'aimerait bien comprendre ta requête a rallonge car le soucis c'est l'argument du send comment faire pour récupérer cet argument hein ...

    peut être avec une première requête ???? mais comment ???????????

    j'ai refait le test sans les api avec l'object wscript.shell
    et cela fonction parfaitement bien
    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
    Public IE As Object ' il sera fermé dans le déactivate du workbook
    Sub test2()
     
        Dim oDoc As Object
        Set IE = CreateObject("internetexplorer.application")
        IE.Visible = True
     
        IE.Navigate "http://www.abcbourse.com/download/historiques.aspx"
        Do: DoEvents: Loop While IE.readystate <> 4 'Or ie.busy
        ' Page chargée, on continue
        Set oDoc = IE.Document
        ' modification de la Valeur date
        oDoc.getElementsByName("ctl00$BodyABC$strDateDeb")(0).Value = "26/05/2015"
        oDoc.getElementsByName("ctl00$BodyABC$strDateFin")(0).Value = "26/05/2016"
        'modification du n° de la valeur(ISIN)
        oDoc.getElementsByName("ctl00$BodyABC$txtOneSico")(0).Value = "FR0000120222"
        'activer la coche
        oDoc.getElementsByName("ctl00$BodyABC$oneSico")(0).Click
        'combobox du choix de format de sortie (4 = format excel)
        oDoc.getElementsByName("ctl00$BodyABC$dlFormat")(0).selectedIndex = 4
        ' on Click sur bouton telecharger
        oDoc.getElementsByName("ctl00$BodyABC$Button1")(0).Click
        'on attend que IE mete a jour sa page
        Do: DoEvents: Loop While IE.readystate <> 4
        ' une fois la mise a jour faite on laisse un temps a la fenetre de telechargement d'arriver
        Application.Wait (Now + TimeValue("0:00:02")) ' 2 seconde largement suffisant meme pour un debit a 200K
        clickOK ' on apel la sub de simulation de touche
     
    End Sub
    Sub clickOK()
    With CreateObject("WScript.Shell")
    .SendKeys "{TAB}~"
    .SendKeys "{ENTER}" ' des fois il y a des raté avec la 2 eme frappe en l'occurence sur la touche ENTER alors on tape une fois de plus  dessus
    End With
    End Sub
    et dans le module this workbook

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
    IE.Quit
    End Sub
    a tout les coups !!!!!
    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

  9. #49
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Même problème chez moi : cela fonctionne...la première fois puis ensuite terminé !
    Mais sur le principe je suis sûr que cela fonctionne.

    après j'aimerait bien comprendre ta requête a rallonge car le soucis c'est l'argument du send comment faire pour récupérer cet argument hein ...
    Et bien tu places les données de ta capture d'écran dans une variable string (admettons que tu l'appelles "Data") et il ne te reste plus qu'à faire appel à cette variable dans le send et cela fonctionne.

    A+

  10. #50
    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


    Patrick,

    après le Quit, mettre la variable objet à Nothing.
    Sinon cela ne passe pas de mon côté sur une config IE9, reste bloqué sur la boucle du ReadyState à 4 …

    C'est pour cela que je boucle à 3 puis teste la disponibilité du bouton
    et c'est bien plus rapide que d'attendre le chargement de la page complète !
    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)

  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
    Bonjour Marc

    ok pour le readystate a 3 je vais tester

    davido pour LE data DU SEND (requête): oui mais NON!!!!! car pour un autre ISIN la partie en base 64 est différente et ne fonctionne pas !!!!!!! j'ai testé bien sur

    et si on supprime cette partie ca ne marche pas non plus

    d'où ma réflexion interrogative sur ta logique

    @marc
    chez moi après test sur le readystate a 3 la fonction clickok est appelé trop tôt, il faut que je mette 1 ou 2 seconde de plus dans le wait juste après

    davido on a pas de limite de nombre de téléchargements mais un temps entre deux
    le 1 er script dans le header de la page web considère 2 requêtes trop rapprochées comme venant d'un robot c'est pour cela que tu a ces plantages

    Ie 11 reproduit la requête de A a Z ce qui anile ce script avec IE 10 NON!!!! pour IE 09 je sais pas je ne l'ai plus

    edit:
    @marc avec le readystate a 3 ca fonctionne 1 fois sur 4 en l'occurrence la 2 ou 3 Emme fois IE semble aller chercher les donnée de la page web dans les temporaire en cas d'echec et retentative
    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

    Avec IE, je n'ai pas eu de limite de téléchargement sur cette page lors de mes essais répétitifs …

    J'ai l'impression que le codage de cette page est un peu spécifique
    car j'ai testé des codes sous le coude pilotant IE9 sur d'autres pages
    attendant le chargement complet de la page initiale et aucun souci !

    David, pour compléter, c'est une combinaison de version IE & Windows et de la page elle-même …

    J'ai créé en VBScript l'année dernière un raccourci pour loguer automatiquement le p'tit
    à la page d'accueil de son collège (emploi du temps, cahier de textes, …) et comme il n'a pas encore
    d'ordinateur dédié, il utilise celui qu'il trouve de libre : diverses configurations IE9 & Seven, IE10 & Windows 8
    et même un eBook IE11 & Windows 8.1 : aucun problème quelle que soit la configuration
    et pourtant le script est codé sans aucune variable objet pour piloter IE ! Style identique à mon code du post #33.
    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
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    davido on a pas de limite de nombre de téléchargements mais un temps entre deux
    le 1 er script dans le header de la page web considère 2 requêtes trop rapprochées comme venant d'un robot c'est pour cela que tu a ces plantages
    Même si je laisse passer une heure entre le 1er et le 2ème test ça plante.

    davido pour LE data DU SEND (requête): oui mais NON!!!!! car pour un autre ISIN la partie en base 64 est différente et ne fonctionne pas !!!!!!! j'ai testé bien sur
    Je ne comprends pas : c'est quoi pour toi un autre ISIN (donne moi un exemple concret) ?
    Si tu recopies dans une variable string les données que tu as dans ta capture d'écran et que tu l'associes au send cela fonctionne...la requête reprend les mêmes paramètres que ceux que tu passes en pilotant IE.

    Que tu veux dire par
    pour un autre ISIN la partie en base 64 est différente et ne fonctionne pas !!!!!!!
    A+

  14. #54
    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



    Le code ISIN représente une cotation en particulier (une action, une valeur boursière).
    Par exemple pour Air France - KLM le code ISIN est FR0000031122

    C'est la question que je t'avais posée précédemment sur la pérennité des headers
    mais en fait je pensais aussi aux options du send !


    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)

  15. #55
    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
    en effet marc !! en vbs plus de soucis aucun même en réduisant les wait

    raison possible mais sans certitudes

    sur système 64 un vbs utilise le wscript.exe 64 bits et donc toutes les librairies en 64
    avec vba excel ou autre la librairie utilisée et 32 si office 32 car plus long ca passe par le syswow64

    ca peut jouer a mon avis

    peut être pour être, sur faire une abeille célibataire lance par VBA LOL.....

    re
    ce que je veux dire c'est la partie en charabia change pour chaque ISIN on ne peut donc pas garder la même pour différents ISIN
    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. #56
    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




    Quand un site boursier me gonfle pour sa requête et bien j'en change, c'est pas ce qui manque les sites boursiers !
    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. #57
    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 a qu'a demander a itwoo

    re
    Ou alors
    au lieu de créer une instance de ie avec create
    lancer un shell sur ieaxplorer.exe celui de Programme bien sur!!!!!! pas celui de programefile(86)
    et pour capter la fenêtre utiliser macontrib sur cherchefenetre (vba contribution)
    ainsi on a ieexplorer en 64 et on a son handle et donc la main mise dessus
    je ferais un petit test demain
    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

  18. #58
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Honnêtement je n'avais pas testé en modifiant le code isin mais j'ai testé et voilà ce que j'obtiens avec les mêmes données dans le send et en modifiant juste le code isin pour la date du 16/06/2016 :
    avec le code FR0000120222 :
    FR0000120222 16/06/2016 13,305 13,47 13,18 13,315 667542
    avec le code FR0000031122 :
    FR0000031122 16/06/2016 6,26 6,317 6,114 6,131 3048367
    donc ça à l'air d'être bon non ?
    Ce sont les résultats que je retrouve quand je télécharge manuellement les fichiers donc a priori c'est ok.
    Si vous avez d'autres codes donnez-les que je teste pour voir.
    A+

  19. #59
    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
    Autant pour moi j'avais mal concaténé l'argument du send
    ex: 'FR0000031122
    ex2:'FR0000120222
    'SUB TEST
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub test()
        Dim ISIN
        ISIN = "FR0000031122"
        Debug.Print requete(ISIN)
    End Sub
    'REQUETE
    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
    Function requete(ISIN)
        Dim Req, url
        url = "http://www.abcbourse.com/download/historiques.aspx"
        Set Req = CreateObject("microsoft.xmlhttp")
        With Req
            .Open "get", url, False
            .SetRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
            .SetRequestHeader "Referer", "http://www.abcbourse.com/download/historiques.aspx"
            .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 "Content-Type", "application/x-www-form-urlencoded"
            .SetRequestHeader "Accept-Encoding", "gzip, deflate"
            .SetRequestHeader "Host", "www.abcbourse.com"
            .SetRequestHeader "Connection", "Keep - Alive"
            .SetRequestHeader "Cache-Control", "no-cache"
            .send argu(ISIN)
            requete = .responsetext
        End With
    End Function
    'ctl00$BodyABC$strDateDeb
    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
     
    'concat argu
    Function argu(ISIN) As String
        argmt = "ctl00_BodyABC_ToolkitScriptManager1_HiddenField=%3B%3BAjaxControlToolkit%2C+Version%3D3.0.20229.20843%2C+Culture%3Dneutral%2C+PublicKeyToken%3D28f01b0e84b6d53e%3"
        argmt = argmt & "Afr-FR%3A3b7d1b28-161f-426a-ab77-b345f2c428f5%3A865923e8%3A9b7907bc%3A411fea1c%3Ae7c87f07%3A91bd373d%3Abbfda34c%3A30a78ec5%3A9349f837%3Ad4245214%3"
        argmt = argmt & "A8e72a662%3Aacd642d2%3A596d588c%3A77c58d20%3A14b56adc%3A269a19ae&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUIMzcyNDY5MjIPZBYCZg9"
        argmt = argmt & "kFgICBA9kFgQCCw9kFgJmDxYCHgdWaXNpYmxlZ2QCDQ9kFgICAQ8PFgIeBFRleHQFKUJhc2N1bGVyIHN1ciBsYSB2ZXJzaW9uIGNsYXNzaXF1ZSBkdSBzaXRlZGQYAQUeX19Db250cm9sc1Jlc"
        argmt = argmt & "XVpcmVQb3N0QmFja0tleV9fFisFFmN0bDAwJEJvZHlBQkMkZXVyb2xpc3QFHGN0bDAwJEJvZHlBQkMkYWN0aW9uc2luZGljZXMFGmN0bDAwJEJvZHlBQkMkYWN0aW9uc2luZHVzBRVjd"
        argmt = argmt & "GwwMCRCb2R5QUJDJGNvbXBsZXQFG2N0bDAwJEJvZHlBQkMkY29tcGxldG5vd2FycgUSY3RsMDAkQm9keUFCQyRzcmRwBRhjdGwwMCRCb2R5QUJDJGluZGljZXNta3AFGWN0bDAwJEJ"
        argmt = argmt & "vZHlBQkMkaW5kaWNlc3NlY3AFGGN0bDAwJEJvZHlBQkMkZXVyb2xpc3RhcAUYY3RsMDAkQm9keUFCQyRldXJvbGlzdGJwBRhjdGwwMCRCb2R5QUJDJGV1cm9saXN0Y3AFGWN0bDAwJE"
        argmt = argmt & "JvZHlBQkMkZXVyb2xpc3R6ZXAFFGN0bDAwJEJvZHlBQkMkYWx0ZXJwBRFjdGwwMCRCb2R5QUJDJG1scAUUY3RsMDAkQm9keUFCQyR0cmFja3AFEWN0bDAwJEJvZHlBQkMkYnNwBRNjdG"
        argmt = argmt & "wwMCRCb2R5QUJDJG9ibDJwBRJjdGwwMCRCb2R5QUJDJG9ibHAFFmN0bDAwJEJvZHlBQkMkd2FycmFudHMFF2N0bDAwJEJvZHlBQkMkb3Bjdm0zNjBwBRVjdGwwMCRCb2R5QUJDJHhjY"
        argmt = argmt & "WM0MHAFFmN0bDAwJEJvZHlBQkMkeHNiZjEyMHAFFWN0bDAwJEJvZHlBQkMkeGNhY2F0cAUWY3RsMDAkQm9keUFCQyR4Y2FjbjIwcAUYY3RsMDAkQm9keUFCQyR4Y2Fjc21hbGxwBRV"
        argmt = argmt & "jdGwwMCRCb2R5QUJDJHhjYWM2MHAFFmN0bDAwJEJvZHlBQkMkeGNhY2w2MHAFFWN0bDAwJEJvZHlBQkMkeGNhY21zcAUVY3RsMDAkQm9keUFCQyR4YmVsMjBnBRVjdGwwMCRCb"
        argmt = argmt & "2R5QUJDJHhhZXgyNW4FEWN0bDAwJEJvZHlBQkMkZGp1BRJjdGwwMCRCb2R5QUJDJG5hc3UFFGN0bDAwJEJvZHlBQkMkc3A1MDB1BRZjdGwwMCRCb2R5QUJDJGdlcm1hbnlmBRJjdGww"
        argmt = argmt & "MCRCb2R5QUJDJHVzYXUFEWN0bDAwJEJvZHlBQkMkdWtlBRJjdGwwMCRCb2R5QUJDJGJlbGcFE2N0bDAwJEJvZHlBQkMkaG9sbG4FFWN0bDAwJEJvZHlBQkMkaXRhbGlhaQUVY3RsMDAkQ"
        argmt = argmt & "m9keUFCQyRsaXNib2FsBRJjdGwwMCRCb2R5QUJDJGRldnAFFWN0bDAwJEJvZHlBQkMkb25lU2ljbwUTY3RsMDAkQm9keUFCQyRjYlllc0QdAEFMOzMYfTefgBBJ2ZEUaWDk&__VIEWSTATEGE"
        argmt = argmt & "NERATOR=0EFFD687&__EVENTVALIDATION=%2FwEdADzeU%2B461dgjKeOy4euPx9%2BA2AGy%2BFRpYOz7XDkkbfjubp9UXI7RwI%2BukRHnd%2BAlDZ4TidDdlkpo2nU8toG3jbaiO3bQR4gY"
        argmt = argmt & "jmmwS4y4ybsn33KxLZyHhf4Mje%2Fl2WxsZO8oboymX8K%2FawfpAYdrARkboi8y0D1aKa8YRDbuZk9hCVB%2BkE3gZYtipUze3jzNDNCMEBEMWFEOc%2BNHEbSbw8FvNFYdXyAUuxt6%2B0jb"
        argmt = argmt & "Zc5Nwm1GD0QooTm97LUU9GUKpnIOC%2Bu%2F2W%2BuWyGuXN02UbCiJJxmjp5mkW8DeM%2FocI5W8WmvXMDKwmYrvBKC7pnWUAtWcpMoVsSmOCOdnlXIcoXu%2F%2Baf%2FiQDbqN"
        argmt = argmt & "tvcnRfkH2oiyB7RsbMXUq2lzc8dt95PPQBi3yzHLNr8sNaxE4jXoUvkYLOMZtGPFq8wOue%2BL3aL6QIV9VrUyAORU3dPeNj8oSuxs4fVNVenj9bBwNMtd92XoZ0fgAFx0VYRpgUubx6aGZq7pW4kA"
        argmt = argmt & "u5m8fb5ci0zgmhY9T9Z7NZO7Gj9tArTr%2B8hOKHkjEHKgE6Cl%2BPlWP6CsBz2dyy933VqldEv71pnrWB5fl7SDH6%2BLCeR6Cj3hBml1ipBDbFFYwrN937W%2FpOlYevFxpTuQO4S87Jds5qM1Ryr"
        argmt = argmt & "Z1RzKjY7kpf1Uy1EsRjq0lzGo3UDCLR8Qzg%2BICOaGQP60Muea7Jt2Mvrk5dP50a3x3ndE82QKf%2FstnRZsbrDvGsRZUo73a6kgCRfaABEjb6VehtduCyrNNbiEE%2Fszy7cIA2%2BGZ1fAM4FpZyQ0"
        argmt = argmt & "JQYbnRAQISh2SLDGw6kCjm8bengUhKB5UkNIenkLIxtz0C366YLNhLa4%2Bher91UkHVTURjwLX%2FQYZkMXRVY7ahhNyymD9AkgSjvLPgJHTftqgsr%2FG5iTF4NQnaPIQKG4JEjJG69LLH4QzaePL67"
        argmt = argmt & "dWk8ZNAzb5On4rHEP9HywghYG2IhWARgjMSGRv0qVhmbJ7tKAZQEwZOXR5bkA%2FrAjwH8gVCsdxCsXo10tHBh3HveAa6n1yqBv3gW0GFevOJ3B1BYZY9YGcYkXPO5BP5Glxc6DgHBR%2FbLiuAO"
        argmt = argmt & "ggKUrocUhDbgaIk74hDc4yWeNpVf1illXfalS4IP%2F8sbnyzuXvAG8jxH5CKE3kDDjxbgu9dzc8bjDscnPAvX10CapGgKKLX%2FbunaysEeSBMg0k95D%2Fr74nIW2lQs5QGOEcyRrWx3np81%2BkE7Z2rp"
        argmt = argmt & "WliSuX9l6PQze7UQLbQ7Ri0FTVMSOPzduwVGJIAMkEhBJFgSlik%2FmRQFFRqx4FrCPfzOVdZTJAQMVyjQ%3D%3D&ctl00%24txtAutoComplete=&ctl00%24BodyABC%24strDateDeb=26%2F05%2F"
        argmt = argmt & "2015&ctl00%24BodyABC%24strDateFin=26%2F05%2F2016&ctl00%24BodyABC%24oneSico=on&ctl00%24BodyABC%24txtOneSico=" & ISIN & " &ctl00%24BodyABC%24Button1=T%C3%A9l%"
        argmt = argmt & "C3%A9charger&ctl00%24BodyABC%24dlFormat=x&ctl00%24BodyABC%24listFormat=isin"
        argu = argmt
    End Function
    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

  20. #60
    Membre confirmé
    Homme Profil pro
    conseiller
    Inscrit en
    Janvier 2013
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : conseiller
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2013
    Messages : 367
    Points : 649
    Points
    649
    Par défaut
    Ah donc c'est ok !
    Pendant que tu t'en rendais compte j'ai fait un petit fichier test.
    J'ai commenté la macro en indiquant les données qui me paraissaient optionnelles (chez moi ça fonctionne sans).
    Au niveau des entêtes seul le content-type paraît obligatoire.
    A toi de voir de ton côté.
    A+
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [FAQ VB/VBA] Piloter MSN et Windows Messenger
    Par SilkyRoad dans le forum Contribuez
    Réponses: 8
    Dernier message: 03/02/2010, 16h13
  2. variable globale + fenetre de debogage vba
    Par papy_tergnier dans le forum Access
    Réponses: 5
    Dernier message: 08/09/2005, 11h32
  3. [newbie] piloter une fenetre DOS
    Par GroGorZ dans le forum C++
    Réponses: 6
    Dernier message: 23/10/2004, 17h26
  4. Fenetre windows
    Par casafa dans le forum Autres éditeurs
    Réponses: 7
    Dernier message: 25/07/2003, 17h18
  5. [VB6] Listage des fenêtres windows
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/05/2003, 11h36

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