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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    salut,
    à toutes fins utiles, l'excellent tuto de Qwazerty sur IE et VBA
    http://qwazerty.developpez.com/tutor...-et-vba-excel/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    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
    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

  4. #4
    Membre averti
    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
    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 374
    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 374
    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
    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

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    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
    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

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