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 :

VBA et internet explorer - ouvrir un fichier téléchargé


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut VBA et internet explorer - ouvrir un fichier téléchargé
    Bonjour à tous,

    J'utilise le code suivant dans vba pour faire les actions suivantes :

    1)Ouvrir un site web sécurisé en y mettant mes login/password

    2)naviguer sur ce site jusqu'à la page désirée

    3)lancer l'ouverture/téléchargement d'un fichier excel de statistiques contenu sur ce site.

    Mon problème se situe suite à l'ouverture de ce fichier, car internet explorer m'ouvre une boite de dialogue pour me demander si je souhaite ouvrir ou télécharger ce fichier.

    Je souhaite l'ouvrir mais n'arrive pas à trouver un bout de code pour le faire.

    Help !

    Mon code pour ceux que ça pourrait intéresser :


    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
    Sub NaviguerPageWeb() 
     
    Dim IE As InternetExplorer 
    Dim maPageHtml As HTMLDocument 
    Dim Helem As IHTMLElementCollection 
     
    Set IE = CreateObject("internetExplorer.Application") 
    IE.Visible = True 
    IE.navigate "https://xxx" 
    Do Until IE.readyState = READYSTATE_COMPLETE 
    DoEvents 
    Loop 
    Set maPageHtml = IE.document 
    Set Helem = maPageHtml.getElementsByTagName("input") 
    For a = 0 To Helem.Length - 1 
    If Helem(a).getAttribute("name") = "userid" Then 
    Helem(a).innerText = "userid" 
    End If 
    If Helem(a).getAttribute("name") = "password" Then 
    Helem(a).innerText = "password" 
    SendKeys "{ENTER}", True 
    End If 
    Next 
     
    Do Until IE.readyState = READYSTATE_COMPLETE 
    DoEvents 
    Loop 
     
    IE.navigate "https://xxx" 
     
    Do Until IE.readyState = READYSTATE_COMPLETE 
    DoEvents 
    Loop 
     
    IE.navigate "https://xxx.action" ' lance le téléchargement du fichier excel

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 641
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 641
    Points : 34 352
    Points
    34 352
    Par défaut
    salut,
    à toutes fins utiles, l'excellent tuto de Qwazerty sur IE et VBA
    http://qwazerty.developpez.com/tutor...-et-vba-excel/

  3. #3
    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 heu
    bonjour

    le code est relativement correcte mis a part une chose

    si tu utilise la simulation sendkey tu dois prendre le focus de l'élément input d'abord

    cela dis il y a une meilleur solution

    c'est repérer l'élément bouton certainement de type "submit" et runner sa propre fonction

    tu a certainement ça dans le tuto de qwazerty


    au plaisir

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Bonjour et merci pour vos premiers commentaires.

    J'avais déjà parcouru le magnifique tuto de QWAZERTY qui est une grande bible d'informations mais qui hélas ne m'a pas aidé pour mon problème actuel.

    Clicker sur un bouton/objet dans la page ie ne me pose pas trop de soucis, c'est au niveau de la boite de dialogue d'IE que je coince.

    Lors du téléchargement du fichier IE me propose en effet d'ouvrir ou enregistrer le fichier (en bandeau en bas de page) et je n'arrive pas à lui dire d'ouvrir ce fichier csv.

    Ce bandeau n'étant pas dans le code source de la page (c'est un paramètre de sécurité d'IE) je ne trouve pas le nom du bouton pour le pointer.

  5. #5
    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 c'est vrai je n'avais pas penser au bandeau d'en bas
    je ne sais pas si comme pour excel il existe pas un
    application .displayalerts=false
    il faudrait voir si par macro on pourrait pas désactiver ce truc
    telecharger
    et réactiver

    intéressant je vais faire une recherche

    au plaisir

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

    je viens d'y penser !!!

    il y a peut etre une meprise dans la methode mais je n'en suis pas sur!!!!

    est tu obligé de cliqué?

    si le lien est present sur la page

    en passant par le href et non pas le innertext n'a tu pas la possibilité de le telecharger?

    je cherche je cherche

    au plaisir

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, il y a aussi ceci à adapter à ton contexte

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Le fichier csv est créé à la volée par le site en fonction des paramètres de la page, il n'est pas stocké en pdf/excel ou autre format donc je ne peux pas tricher en le téléchargeant directement,

    En plus je suis obligé de me connecter à un site avec login/mot de passe (éjection toutes les 10 minutes) puis aller sur une page de fichiers clients puis clicker sur un bouton pour générer le fichier en csv

    et là IE me propose donc de l'ouvrir ou de le télécharger.

  9. #9
    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
    rebonjour

    pour le lien que kiki29 t'a donné il faut avant tout comme je t'ai dis récupérer le lien par le href de le "htmlélement"
    maintenant si ca n'est pas un fichier mais un tableau ou un document remplissable dynamiquement
    il va te falloir récupérer le lien vers ce document toujours par le href
    et refaire une moulinette comme tu a fait pour saisir tes login et mdp pour trouver les éléments

    ensuite une fois que tu est dans la moulinette dans cette boucle insérer l'édition d'un fichier txt avec l'insertion des éléments que tu sauvera au format html par exemple

    mais c'est du bouleau!!!!!
    y a de la migraine en vue
    j'espère que tu n'est pas allergique au paracetamol

    a moins que:

    ce document soit dans une iframe
    au quel cas
    tu ouvre un fichier text toujour dans ta moulinette qui va te trouver le "href de ce dis document tu y met tes balises classiques et en body tu y met src=lelien de ce dis document.le nom de la iframe c'est assez volatile
    mais puisque c'est un document qui est sensé etre mis a jour régulierement
    ca peut t'eviter beaucoup de code a chaque fois que tu ouvrira ce fichier il aura la derniere mis en jour en temps et en heure

    bon courage
    au plaisir

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Mon seul problème c'est que contrairement à la zone ou je me saisissais login et mdp je n'ai pas de nom dans mon href mais qu'un lien et une image.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <td width="30px" align="center" onmouseover="return overlib('Télécharger ces données au format CSV', DELAY, 1000, TIMEOUT, 5000);" onmouseout="return nd();">
    					
    <a href="/appli/jsp/page/chxActivationCsvEvt.action"><img src="../../images/eol3/picto_telecharger.gif" border="0"></a>
    					    
    </td
    le fait d'ouvrir l'adresse /appli/jsp/page/chxActivationCsvEvt.action lance le téléchargement (qui se retrouve bloqué par IE).

  11. #11
    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

    en passant je ne sais toujour pas si c'est un fichier ou une partie de de document

    au plaisir

Discussions similaires

  1. [XL-2010] VBA - Excel/ internet explorer - Clic bouton dans IE pour export fichier excel
    Par victoireC dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/01/2013, 09h39
  2. Excel VBA et Internet explorer 8
    Par Antoine HUG dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 11/07/2009, 09h49
  3. VBA et Internet explorer
    Par sechanbask dans le forum Général VBA
    Réponses: 6
    Dernier message: 27/05/2008, 12h24
  4. [VBA-E] Internet Explorer dans Excel ?
    Par iButton dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2007, 19h13
  5. Réponses: 10
    Dernier message: 15/08/2006, 17h59

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