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 :

Problème ouverture Internet Explorer avec macro


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Problème ouverture Internet Explorer avec macro
    Bonjour (bonsoir) à tous! Je suis nouveau sur ce forum, donc je vous prie de bien vouloir m'excuser si je fais quelque chose qu'il ne faut pas faire (comme créer ce topic).

    Je me suis mis à coder quelques trucs sur VBA Excel depuis une semaine environ, en grande partie grâce aux tutoriels sur internet et aux forums comme celui-ci. Mais là je rencontre un problème donc je n'ai trouvé la solution nulle part... Je travaille sur Excel 2003.

    Je souhaite ouvrir Internet Explorer à partir d'une macro et remplir des champs automatiquement, en particulier pour une authentification. Le code nécessaire à ces étapes ne me pose pas de problème, voici le code que j'utilise :

    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
     
    Dim IE As Object
     
    Set IE = CreateObject("InternetExplorer.Application")       
     
    With IE
            .Visible = True
            .Navigate "http://webmail.etu.enseeiht.fr/src/login.php"
     
            Do Until .readyState <> 4
            DoEvents
            Loop
     
            .Document.all("login_username").Value = "login"
            .Document.all("secretkey").Value = "motdepasse"
    End With
    Lorsque je lance la macro depuis un PC travaillant sous XP, tout se passe très bien. Notamment avec un ancien Internet Explorer qui ne gère pas les onglets.


    Mais lorsque je bascule sur mon ordinateur portable fonctionnant sous Vista avec un Internet Explorer plus récent (et gérant les onglets), la macro ne s'exécute plus correctement et me sors une erreur (voir plus loin).
    Pire, le fonctionnement attendu de l'ouverture de la page web est très étrange et diffère de ce qu'il se passe sous XP avec un IE moins récent.

    En effet, l'ouverture de IE se fait (sous Vista), et je ne sais pas pourquoi, en 2 temps : ouverture d'une 1ere fenêtre qui ne charge aucune adresse URL et ensuite ouverture de l'URL précisée dans la macro dans une 2eme fenêtre.

    J'ai alors l'impression que VBA ne prend en compte que cette 1ere fenêtre qui s'est ouverte et ne prend pas en compte la VRAIE fenêtre que je veux ouvrir. C'est donc presque logiquement que les champs ne peuvent pas être remplis avec succès, ce qui aboutit à l'erreur suivante :
    La méthode 'Document' de l'objet 'IWebBrowser2' a échoué


    Ma question est simple, quelqu'un comprend-t-il ce qu'il se passe avec Vista et mon Internet Explorer qui ouvre 2 fenêtres au lieu d'une ?
    Et par chance si quelqu'un sait ce qu'il se passe, pourrait-il me donner une piste pour résoudre le problème, svp ?!

    Voilà, je remercie d'avance toute personne s'intéressant à mon problème.
    S'il vous plait, un peu d'aide!


    PS : Je met en pièce jointe des screensshots pour montrer ce qu'il s'affiche sur mon écran si ce n'ets pas clair pour tout le monde.
    Et désolé d'avoir fait un post aussi long^^
    Images attachées Images attachées   

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Personne n'a une petite idee ? Personnellement, j'ai toujours pas compris ce qu'il se passait.

    Par contre j'ai essaye un autre truc, c'est d'ouvrir le navigateur Internet Explorer a l'aide d'un shell (dont j'ai pas la syntaxe sous la main, desole) et dans ce cas, la page arrive bien a se charger et toute seule!

    Mais ensuite je n'ai aucune idee de comment remplir les champs automatiquement a l'aide d'un shell, a vrai dire je ne m'y connais pas beaucoup en shell...

    Merci pour tout aide sur mon premier probleme ou sur ce probleme de shell !!

  3. #3
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    N'ayant jamais essayé ce genre d'accrobatie sous Vista je ne te serai pas d'une grande aide mais peut-être en essayant la méthode de Cafeine, légèrement différente de la tienne.

    Je constate déjà une différence dans la valeur de ReadyState

    http://www.developpez.net/forums/sho...d.php?t=531352
    .

  4. #4
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Bonsoir,


    Je crois que c'est plutôt IE7 le probléme non ?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Oui j'ai l'impression... Mais quel problème? Peut être y'a-t-il une incomptatibilité entre IE7 et Excel 2003. Peut être devrais-je utiliser Excel 2007.

    Fring, j'ai essayé de changer cette syntaxe mais même problème. Ce qui était prévisible vu que le code marche avec XP et IE moins récent (je sais pas quelle version exactement).


    Mais sinon est-il possible de remplir des champs sur une page web à partir d'un shell?

    Car avec la syntaxe suivante, Internet Explorer se lance normalement (sans fenêtre bizarre) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
     
    Sub LanceNavigateur()
        ShellExecute Application.hwnd, vbNullString, "http://www.jeuxvideo.com/cgi-bin/admin/moncompte.cgi?oper=30", vbNullString, vbNullString, SW_SHOWNORMAL
     
    End Sub
    J'ai trouvé ce bout de code je ne sais plus où et en fait je ne m'y connais pas du tout en shell donc je ne sais pas ce qu'il est possible de faire. Merci si vous pouvez m'éclairer sur ce point.
    Surtout que j'ai l'impression qu'utiliser un shell pour ça c'est un peu comme sortir un marteau pillon pour écraser une mouche... si vous voyez ce que je veux dire^^

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    Ma question est simple, quelqu'un comprend-t-il ce qu'il se passe avec Vista et mon Internet Explorer qui ouvre 2 fenêtres au lieu d'une ?
    le phénomène se produit également lorsque tu ouvres la page manuellement ou uniquement par macro ?


    Mais sinon est-il possible de remplir des champs sur une page web à partir d'un shell?
    Non, pas à ma connaissance.


    Je ne dispose pas d'IE7 et de Vista pour t'aider d'avantage mais tu devrais chercher dans la bibliotheque InternetExplorer pour vérifier s'il existe des méthodes gérant les "onglets".



    A tout hasard refait un essai en remplaçant

    par



    bon week end
    michel

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse Michel.

    Navigate 2 n'y change rien. Dommage pour les shell car la page internet se lançait bien avec.

    J'ai essayé, à partir de la première fenêtre de IE qui s'ouvre avec la macro, de lancer une page web et un mesage apparait. Ce message m'oblige à ouvrir la page web dans une autre fenêtre à cause d'un problème de sécurité.
    Je met un screen de ce message en pièce jointe.

    Le problème vient donc de IE apparemment...

    Quelqu'un connait-il ce message ?
    Images attachées Images attachées  

  8. #8
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Quelques questions :
    • De quelle manière as-tu paramétré l'ouverture des nouvelles fenêtre dans les options de InternetExplorer ?
    • Est-ce que tu as bloqué les fenêtre 'pop up' ?
    • Autrement dit, es-tu certain que ces messages d'erreurs ne proviennent pas de paramètres personnalisés sur ta machine ?

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Que le bloqueur de pop-up soit activé ou non le problème est le même, je viens d'essayer.

    Et j'ai aussi désactivé la navigation par onglets et idem => même problème.

    D'après ce que je comprend, c'est un problème au niveau des zones de sécurités d'internet explorer, mais je trouve ça quand même bizarre!

    Est-ce que quelqu'un avec Vista et IE 7 (ou 6) pourrait essayer d'exécuterles lignes de codes que j'ai mis au tout début, s'il vous plait?

Discussions similaires

  1. [LibreOffice][Tableur] Contrôler Internet explorer avec macro
    Par momo8508 dans le forum OpenOffice & LibreOffice
    Réponses: 3
    Dernier message: 13/11/2014, 10h28
  2. Réponses: 10
    Dernier message: 10/11/2011, 00h46
  3. Problème ouverture Internet Explorer avec macro
    Par pimter dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2009, 18h37
  4. Bug internet explorer avec hotmail.com
    Par rub091 dans le forum IE
    Réponses: 8
    Dernier message: 31/05/2006, 09h21
  5. Réponses: 16
    Dernier message: 25/11/2005, 09h53

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