+ Répondre à la discussion Actualité déjà publiée
Page 1 sur 5 12345 DernièreDernière
  1. #1
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut [Article] Manipulation d'Internet Explorer via VBA

    Salut

    Je vous propose un tutoriel sur l’interaction entre Excel VBA et Internet Explorer.

    Les sujets développés sont
    • la déclaration des variables
    • la navigation dans le code source d'une page
    • récupérer et saisir des données, agir sur des boutons, des liens, des cases à cocher...
    • le téléchargement de fichiers
    • adapter ses méthodes d'interaction en fonction du contenu de la page
    • un rappel sur l'utilisation des espions et des point d'arrêt


    Afin d'y parvenir, vous trouverez dans ce document des exemples concrets mettant en pratique une partie des méthodes fournies par VBA pour manipuler le contenu d'une page Web. Nous développerons par exemple un code visant à obtenir les résultats du loto sportif ou encore la sélection d'un trajet sur le site de la SNCF.

    Merci de laisser sur ce topic votre avis sur mon document, toutes les critiques constructives sont les bienvenues .

    Si vous avez la flemme de taper, pensez à minima à noter la discussion

    Bonne lecture et bon apprentissage

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  2. #2
    Membre expérimenté Avatar de Vadorblanc
    Profil pro
    Inscrit en
    février 2008
    Messages
    305
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 305
    Points : 1 588
    Points
    1 588

    Par défaut

    Qwazerty bonjour,
    J'ai visualisé ton tuto, ton travail est extraordinaire, ma façon d'encourager de telle initiative ma conduit à rechercher tous tes messages et en apportant mon vote...
    MERCI pour le forum.
    ! Quand tu es arrivé au sommet de la montagne, continue de grimper !

  3. #3
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    décembre 2006
    Messages
    5 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 133
    Points : 9 837
    Points
    9 837

    Par défaut

    Bonjour à tou(te)s, Qwazerty,

    Félicitation pour ton travail !
    j'ai voulu testé gentiment tes propositions mais me suis vite retrouver devant un bug :
    à la dernière ligne de ce code :
    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
    Sub RechercheVBAExcel()
    'Déclaration des variables
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim NumCompte As HTMLInputElement
    Dim OkCmut As HTMLInputElement
     
       IE.Navigate "https://www.creditmutuel.fr/cmne/fr/"
       'IE.Navigate "www.google.fr"
       IE.Visible = True
     
       WaitIE IE 'bien sur encodé
       'On pointe le membre Document
       Set IEDoc = IE.Document 'arret du code => bug
       .............
    la page s'affiche correctement mais je ne peux aller plus loin car dans mon programme j'ai un message :
    Erreur d'éxécution '-2147467259 (80004005)'
    Erreur Automation
    Erreur non spécifié
    Merci d'avance de m'indiquer si tu en connais la raison

    Bonne continuation
    Cordialement,
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut

    Salut

    Je viens de tester le code et je n'ai aucun soucis avec, le chargement de la page se passe bien et l'initialisation de IEDoc également.

    Sans avoir le bug sous les yeux, je vais avoir du mal à t'aider.

    Je n'en ai pas parlé dans le tutoriel mais il m'est arrivé d'avoir des soucis sur certaine pages lors d'un grand nombre d'accès à une page, lors par exemple des phases de teste et de recherche de mon code. Je pense que les serveurs doivent être vigilants au nombre d'accès et peut-être même à la vélocité des actions entreprises sur les pages, après tout, on est quand même un peu dans le registre du bot...

    Essai de mettre un point d'arrêt sur la ligne qui pose problème, puis regarde si la page est bien chargée "à fond" et le cas échéant, met un espion sur IE.Document pour voir si sont contenu est accessible avant l’affectation à IEDoc.

    Si le problème persiste et que tu souhaites de l'aide, je te demanderais juste d'ouvrir un autre topic pour ne pas submerger celui-ci étant donné que le code du tutoriel en lui même n'est pas remis en question.
    Je ne vais pas beaucoup sur le forum en se moment, donc envoie moi un MP avec un lien vers ce topic si tu décides d'en ouvrir un.

    Merci.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  5. #5
    Membre expérimenté Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    mars 2006
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : mars 2006
    Messages : 1 234
    Points : 1 725
    Points
    1 725

    Par défaut

    Bonsoir Qwazerty,

    un excellent tuto à ajouter à ma collection.

    Un seul regret .... on ne peux pas mettre +10 au vote mais seulement +1....

    mais ça mérite les félicitations.

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2017 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2006
    Messages : 11
    Points : 19
    Points
    19

    Par défaut

    Bonjour Qwazerty

    merci pour ce tutoriel. .

    Juste une remarque : le lien vers le tuto d'Arkham46 traitant de VBA et du développement Web renvoi une erreur (rubrique VIII. Liens utiles de ton tuto).

    Le lien est-il correct ou alors sais-tu où trouver ce tutoriel stp ?

    Merci.

  7. #7
    Membre éclairé
    Avatar de bifconsult
    Homme Profil pro
    Consultant
    Inscrit en
    mars 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant
    Secteur : Conseil

    Informations forums :
    Inscription : mars 2012
    Messages : 189
    Points : 875
    Points
    875

    Par défaut

    Hello,

    Un seul mot: Merci !

    Un seul geste : +1 (+2 aussi, mais je peux pas)

    BC
    Cordialement,
    BC

    N'oubliez pas de voter (en bas à droite) ni, le cas échéant, de signaler comme [RESOLU] votre question. Merci.
    Pas de questions techniques par MP svp, le forum est là pour partager les expériences.
    "L'homme raisonnable s'adapte au monde ; l'homme déraisonnable s'obstine à essayer d'adapter le monde à lui-même. Tout progrès dépend donc de l'homme déraisonnable" - George Bernard Shaw

  8. #8
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut

    Salut, Merci pour vos encouragements

    @flipflap: Merci pour avoir relevé cette coquille, c'est une majuscule qui trainait dans le lien qui posait problème c'est corrigé. Le tutoriel d'Arkham est consultable ici.

    Bonne journée
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  9. #9
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    juillet 2008
    Messages
    8 778
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : juillet 2008
    Messages : 8 778
    Points : 28 424
    Points
    28 424

    Par défaut

    Bravo pour la clarté du Tutoriel
    Cordialement.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    juin 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2006
    Messages : 11
    Points : 19
    Points
    19

    Par défaut

    Citation Envoyé par Qwazerty Voir le message
    Salut, Merci pour vos encouragements

    @flipflap: Merci pour avoir relevé cette coquille, c'est une majuscule qui trainait dans le lien qui posait problème c'est corrigé. Le tutoriel d'Arkham est consultable ici.

    Bonne journée
    ++
    Qwaz
    Cool !! Merci ...

  11. #11
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : juin 2012
    Messages : 1
    Points : 2
    Points
    2

    Par défaut

    Bonjour à tous,
    Tout d'abord, merci à Qwazerty pour se tutoriel très bien expliqué.

    J'ai moi aussi une erreur semblable à celle de casefayere.
    Citation Envoyé par casefayere Voir le message
    la page s'affiche correctement mais je ne peux aller plus loin car dans mon programme j'ai un message :
    Citation:
    Erreur d'éxécution '-2147467259 (80004005)'
    Erreur Automation
    Erreur non spécifié
    Et je me demande si ça ne viendrait pas de la protection du site.
    En effet, quand internet explorer s'ouvre, en haut à droite de l'url il y a l'image du cadenas et il me semble que pour le creditmutuel c'est pareil.
    L'erreur se lance pour IE.document.
    Lorsque je met un espion sur IE, il n'y a aucun membre lié à cet objet.
    Ce qui expliquerait peut être que l'erreur se produise à IE.document.
    Avez-vous trouvé la cause du problème ou une solution?

    Merci d'avance
    Cordialement

  12. #12
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut

    Salut

    Désolé pour le manque de suivi.

    Je n'ai pas plus d'info à propos de ce problème, j'ai un soucis "similaire" à mon travail, nous avons un programme intranet sur lequel on gère notre activité journalière. Le code du site semble généré dynamiquement à l'ouverture de la page, j'accède bien au code avec l'inspecteur de code de mon navigateur, par contre impossible d'y accèder via un code VBA...
    Par contre aucun message.

    En conclusion, tout ne semble pas faisable par cette méthode, j'esserai peut-être de faire plus de recherche sur le sujet en regardant sur la page de ma banque si le même problème apparait (mais c'est pas pour tout de suite désolé ).

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : juillet 2012
    Messages : 15
    Points : 9
    Points
    9

    Par défaut

    Bonjour à tous,
    Suite à mes précédentes interrogations, j'ai fini par trouver l'origine du problème au niveau de "ReadyState".

    En effet, quand j'ouvre internet explorer dans mon entreprise, cela ne m'ouvre pas directement la page souhaitée. Cela charge dans un premier temps la page d'accueil de mon entreprise.
    Après avoir entré ma recherche dans cette page (en haut à droite dans la barre de recherche google), cela m'ouvre UNE AUTRE page avec ma recherche.
    Du coup, la première page qui était nommée IE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim IE As New InternetExplorer
    N'est pas ma page google, et finalement, il est normal que la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Do Until IE.ReadyState = 4
    Bloque, puisque cette page est constemment en train de charger dans le vide et ne correspond pas à google.

    Je me permet de faire cette remarque constructive pour que tu puisse rajouter une annexe sur ton tuto qui sera utile à de nombreux lecteurs

    beaucoup de gens en entreprise peuvent avoir le meme probleme que moi, c'est pourquoi je te propose une solution (bien que je ne sache pas la traduire en langage VBA).

    1) Pourrais-tu expliquer comment nommer une nouvelle page internet explorer pour qu'au lieu de travailler sur "IE" qui beugue, on travaille sur une nouvelle page "IE2"?
    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim IE2 As InternetExplorer
    Set IE2 As LastOpenedInternetExplorer
    'ou bien
    'Set IE2 As "Google - Windows Internet Explorer Provided by MonEntreprise"
    Si tu vois ce que je veux dire

    2) Sais tu si à partir de la macro tu peux demander d'ouvrir la page à partir d'internet explorer sans passer par la page d'accueil de l'entreprise?

    En espérant que ceci contribue à améliorer ton tuto qui est déjà très utile,

    Merci pour tes conseils

  14. #14
    Membre expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    août 2007
    Messages
    2 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : août 2007
    Messages : 2 383
    Points : 3 151
    Points
    3 151

    Par défaut

    Bonjour,
    je voudrais également indiquer +11, mais ce n'est guère possible.

    Magnifique travail Qwaz, comme à l'accoutumée.

    G@dz
    (\ _ /) Cordialement G@dz
    (='.'=)

    (")-(") Vous avez des neurones. Sollicitez-les. . Si vous êtes aidé, pensez à Voter.

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2012
    Messages : 3
    Points : 5
    Points
    5

    Par défaut

    Un grand merci, pour ce tuto, très bien fait et très pédagogique
    En revanche, il est dommage de ne plus avoir acces a la source.
    Est-elle toujours disponible?

  16. #16
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut

    Salut
    La source est toujours présente dans la section liens utiles à la fin du tuto, je viens de la downloader sans soucis.
    Merci pour le retour
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  17. #17
    Membre à l'essai
    Inscrit en
    septembre 2008
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : septembre 2008
    Messages : 16
    Points : 11
    Points
    11

    Par défaut

    Salut Qwazerty,

    Encore un grand merci pour ton tuto, la pédagogie qui y est appliquée, et la qualité de la mise en forme.

    Une toute petite remarque dans les sections
    - V-C-2-d. Rentrer sur le terrain,
    - VII-C. GetElementsByClassName, second bloc de code 'VBA',
    il semble qu'une bourde se soit glissée dans les commentaires :
    - 'On récupère le n° de l'n dAuteur inconnu2012-03-03T09:59:47.64Il manquait le ° après n, ce qui du coup change le sens de la phrase, j'ai corrigé ici et dans le fichier Excel (au passage, j'ai aussi reporté toutes les autres corrections liées au code VBA). Peut-être serait-il approprié que je te transmette également le fichier Excel ?'évènements
    - 'On recherche les éléments ayant "index" comme classe
    'et qui se trouvent dans les enfants directsclaude Leloup2012-02-27T08:42:15.67Directs ?Auteur inconnu2012-03-03T09:38:48.67Répondre à claude Leloup (27/02/2012, 08:42): "..."

    Un peu comme si tu avais une macro construisant les codes de ton post, se basant sur tes mails trop fort !

    Enfin, rien de bien grave

  18. #18
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut

    Salut
    Je vais regarder ça de se pas, mais au vu du nom qui apparaît dans les message, ce sont des remarque faite par Claude Leloup, c'est un des correcteur orthographique de DVP.
    Si des phrase comportant son nom apparaisse, c'est que j'ai mal fait mon travail et qu'il reste des fautes que je n'ai pas corrigé...
    [Edit]
    En fait se sont des commentaires qui sont devenus apparents... je corrigerais ça au plus vite.
    Merci pour ce retour .
    [/Edit]
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  19. #19
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    avril 2002
    Messages
    2 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : avril 2002
    Messages : 2 847
    Points : 7 873
    Points
    7 873

    Par défaut

    Salut

    Voila c'est corrigé et j'en ai profiter pour ajouter la version eBook qui est désormais généré par les outils de rédactions .

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    HammerFest
    Ma page perso DVP - Dernier Tutoriel : VBA & Internet Explorer

  20. #20
    Membre expérimenté Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    mars 2006
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Etudes
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : mars 2006
    Messages : 1 234
    Points : 1 725
    Points
    1 725

    Par défaut

    Bonsoir Qwazerty,

    - L'exemple de téléchargement de la feuille Excel n'aboutit pas (quand on clique dessus, rien ne se passe)

    - Question : Quand on fait F12 pour afficher le code d'une page, existe-t-il un moyen d'en faire une copie exploitable hors ligne. (Recopie sur Word ou Notepad) ? A priori, la sélection pour un copier-coller ne fonctionne pas. Reste Imprime écran, mais ça n'est pas le top...

    PS : Merci en pour ce tutoriel qui est en train de me permettre un développement d'une base Access avec mise à jour de données issues d'un site...

    Curt
    Pas de demande par MP, sinon j'correctionne plus, j'dynamite, j'disperse, j'ventile !!!
    ---------------------------------------------------------------------
    Vous avez un talent insoupçonné... Faites-en profitez les autres. Un p'tit CLIC pour une grande cause.
    Et si vous faisiez un bon geste en 2017 ? Soyez utile, ça vous changera ! Moi, ça m’a changé !

Discussions similaires

  1. Probleme d'interaction avec Internet Explorer Via VBA
    Par ThaHardy dans le forum Access
    Réponses: 0
    Dernier message: 03/06/2015, 10h52
  2. Manipulation d'Internet Explorer via VBA
    Par jll13 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/01/2013, 19h24
  3. Manipulation d'Internet Explorer via VBA
    Par pegase33 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/11/2012, 19h19
  4. probleme Manipulation d'Internet Explorer via VBA
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/03/2012, 20h36

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