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

Contribuez Discussion :

[Article] Manipulation d'Internet Explorer via VBA


Sujet :

Contribuez

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    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
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  2. #2
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    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.

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    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 :resolu: 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 confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    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
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre Expert Avatar de curt
    Homme Profil pro
    Ingénieur Etudes
    Inscrit en
    Mars 2006
    Messages
    1 579
    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 579
    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

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    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
    Invité de passage
    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
    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

  8. #8
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    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
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

  10. #10
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tchèque Rep.

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 6
    Par défaut
    Citation Envoyé par Qwazerty Voir le message

    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
    Bonjour

    Ne serait-il pas possible de contourner le problème? Existe-t-il une commande VBA pour faire une action similaire à Crtl+A Ctrl+C sous internet explorer. Si c'est le cas on peut s'en servir pour copier collé le contenus d'une page web dans une feuille excel et après le retravailler avec une macro.

    Cordialement
    Fabian

  11. #11
    Membre chevronné
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Par défaut Se contecter a Intranet via Excel
    Je voulais utiliser le super tuto de QUAZERTY, mais ie.navigate affichait la page et perdait la connection.
    Apres de longue recherche sur Internet :

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    'Activer les références
    '   - Microsoft HTML Objects Library
    '   - Microsoft Internet Controls
    '   - Microsoft shell control et automation
     
    'Dans un module
    Option Explicit
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    '---
    Const StUrl = "C:/Users/Saugedic/Documents/MonSite/CreationPage.html"
    '---
     
    '*********************************************
    ' Se Connecter à une page Html local
    '*********************************************
    Sub connexion()
    On Error GoTo ERR_Sub
     
    'Afficher la page html
    '---------------------
    Dim ie As InternetExplorer
    Set ie = New InternetExplorer
     
    With ie
        .Visible = True
        .navigate StUrl
        'affiche la page et .. perd la connection - ie.readystate vide -> err
        '   Do Until .readyState = 4
        '       DoEvents
        '   Loop
    End With
    ' Attendre la fin du chargement
    Sleep (300)
     
    'Se (re)connecter
    Dim objShell As Object, obj As Object
    Set objShell = New Shell
     
    For Each obj In objShell.Windows
        If TypeName(obj.document) = "HTMLDocument" Then
            If obj.LocationName Like "*CreationPage*" Then
            'Des que l'on trouve l'instance chargée - Reconnecter la page
                Set ie = obj
                Exit For
            End If
        End If
    Next
     
    'Ecrire dans la page
    '---------------------
    ' Dim IEdoc As Object - Set IEdoc = ie.document
     
    ' Formulaire de connexion ...
         ie.document.all("autre").Value = "login"
         ie.document.all("Bouton1").Click
     'F12 sur Google pour connaitre les noms des champs    
     
    GoTo FIN_Sub
    '--------------------
     
    ERR_Sub:
        MsgBox "Erreur : " & Err.Number & " (" & Hex(Err.Number) & ")" & vbCrLf & Err.Description
        On Error GoTo 0
     
    FIN_Sub:
    '--------------------
    ie.Quit
    Set ie = Nothing
    'Set IEdoc = Nothing
     
    '---
    End Sub
     
     
    'Pour tester
    '*********************************************
    ' Créer une page html
    '*********************************************
    Sub test()
    On Error GoTo ERR_Sub
     
    'Creer la page html
    '--------------------
    Dim xFile As Integer
     
    xFile = FreeFile
    Open "C:\Users\Saugedic\Documents\MonSite\CreationPage.html" For Output As xFile
     
    Print #xFile, "<HTML>"
        Print #xFile, "<HEAD>"
        Print #xFile, "<TITLE>Ma page de saisie</TITLE>"
        Print #xFile, "</HEAD>"
     
        Print #xFile, "<BODY>"
        Print #xFile, "<FORM>" & _
            "<input type='text' size='10' name='autre'><br>" & _
            "<Input type=button name='Bouton1' value='Validez'>" & _
            "</FORM>"
        Print #xFile, "</BODY>"
    Print #xFile, "</HTML>"
     
    Close xFile
     
     
    Exit Sub
    '---
    ERR_Sub:
        MsgBox "Erreur : " & Err.Number & vbCrLf & Err.Description
        Error 0
    '---
    End Sub
    ** J etrouve toujours tout sur ce site, alors pour une fois **

  12. #12
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut
    Deux internautes ont des problèmes similaires. Voila l'un des posts, j'y apporte une solution similaire à celle que tu proposes.

    Pour information, je ne pense pas que la liaison entre Ie et la variable se déconnecte, je pense plutôt que l'IE que tu ouvre, ouvre lui-même une autre fenêtre, puis se ferme. Pourquoi... ça je n'en sais rien...

    Merci pour le retour, bonne journée

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  13. #13
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut

    ... j'ai oublié le lien vers le sujet en question... le voici

    Et le code en question
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Sub PremierIEGet()
    'Déclaration des variables
    Dim FirstIE As New InternetExplorer 'cette instance contiendra la page qui charge en boucle
     
    Dim IE As InternetExplorer 'Dim IE As New InternetExplorer
    Dim objShell As Shell
    Dim obj As Object
     
    FirstIE.Navigate "www.google.fr"
    FirstIE.Visible = True ' a vous de voir, il est possible de la garder masquée, mais attention a ne pas oublier de la fermer avant de finir la macro
     
    'Ensuite on recherche la nouvelle instance d'IE qui a été ouverte par la 1ère instance...
    'Ici il faudra peut-être mettre une petit Sleep histoire d'être sur que cette 2ème instance se soit chargée
    'Je suis pas fan des sleep, mais bon... des fois...
     
    'On charge la collection des appli lancés
    Set objShell = New Shell
    'On boucle
    For Each obj In objShell.Windows
        'On regarde si l'appli est de type Document internet
        If TypeName(obj.document) = "HTMLDocument" Then
            'On regarde si c'est bien l'instance qui a chargé Google
            If obj.LocationName = "Google" Then
                'On pointe cette instance via la variable IE
                Set IE = obj
                'On quite la boucle
                Exit For
            End If
        End If
    Next
     
    'Ensuite on utilise IE
    '...
    '...
    'IE.Visible = True 'Logiquement celle-ci doit déjà être visible
    IE.Navigate "www.developpez.com"
     
     
    'Fermeture d'IE
    'IE.Quit
     
    'On libère la variable IE (bien que VBA s'en occupe à la fin de la procédure)
    Set IE = Nothing
    End Sub
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur aviation civile
    Inscrit en
    Novembre 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur aviation civile
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2012
    Messages : 52
    Par défaut
    Bonsoir,

    merci pour le tuto. Pensez-vous que cela est "adaptable" à safari pour mac?
    Bien à vous,

    xav

  15. #15
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut

    Non je ne pense pas mais je ne peux pas le confirmer, par contre le code serait différent, les méthodes ne serait pas les mêmes, il faudrait que Safari mette à dispo une DLL contenant les méthodes pour communiquer avec lui.

    En cherchant vite fait Safari + vba sur google, j'ai vu des codes qui utilisent du script apple mais ça semble limité (?).

    Bon courage

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  16. #16
    Invité de passage
    Homme Profil pro
    ANGULAR, JAVASCRIPT
    Inscrit en
    Février 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : ANGULAR, JAVASCRIPT
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 1
    Par défaut Tuto qwazerty
    Bonjour,

    Toutes mes félicitations pour ce travail de qualité et généreux.

    Il m'a bien servi pour mon projet. J'ai juste un peu de mal avec les techniques de récupération de texte à partir d'une page web. C'est du probablement à ma très relative maîtrise du sujet. Aurais-tu une référence à me conseiller pour approfondir ce point ?
    Merci d'avance et encore bravo.

    PS : Je sais j'ai découvert un peu tard le tuto !

  17. #17
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut

    @nabil44: Non je n'ai pas vraiment de référence précise, il y a pas mal d'infos sur internet. Qu'entends tu pas récupération de texte?

    Bonne journée
    ++
    Qwaz

    PS:
    En parallèle de ça, je souhaite rappeler tous que ce topic est présent pour signaler des problèmes liés au tutoriel, pas pour exposer des demandes d'aide, celles-ci aurait un meilleur place directement dans un nouveau sujet dans le forum adéquate. Les message de remerciement reste les bienvenu .
    Je ne refuse pas d'apporter de l'aide, c'est juste pour un question de lisibilité. Je suis beaucoup moins présent sur DVP, vous pouvez si aucune réponse ne vous est apporté lors de la création d'une demande d'aide sur le forum, m'envoyer un MP avec le lien vers votre sujet, j'essaierais d'y jeter un œil qu'en j'aurais un moment.

    Merci de votre compréhension

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  18. #18
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour à tous,

    Je l'ai déjà mentionné dans de nombreuses discussion mais il me paraît utile de le dire ici.
    Même quand IE a terminé, il se peut que le Document (le contenu de la page) n'ait pas fini de se charger.

    Après chaque changement de page, il faut répéter la structure suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        WaitIE IE
        Set IEDoc = IE.document
        WaitDoc IEDoc
    avec les 2 procédures d'attente:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub WaitIE(IE As InternetExplorer)
      Do While Not IE.readyState = READYSTATE_COMPLETE
        DoEvents
      Loop
    End Sub
     
    Sub WaitDoc(doc As HTMLDocument)
      Do While Not doc.readyState = "complete"
        DoEvents
      Loop
    End Sub
    Testé et retesté dans de nombreux contextes...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  19. #19
    Membre éclairé
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Par défaut
    Merci pour l'info. Pour l'instant ça a l'air de marcher mais je n'ai pas fait de test de robustesse (avec une mauvaise connexion internet).

    Autre sujet : Est-il possible par le code visual basic d'ouvrir un autre navigateur que IE pour travailler sur le Web ?

  20. #20
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut

    Arff, désolé pour le manque de suivi... je n'ai pas été alerté des nouveaux messages...

    Visiblement AlainTech à fourni pile poile ce qu'il faut, merci bien je ne connaissais pas cette méthode.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Manipulation d'Internet Explorer via VBA
    Par pegase33 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/04/2018, 09h49
  2. Probleme d'interaction avec Internet Explorer Via VBA
    Par ThaHardy dans le forum Access
    Réponses: 0
    Dernier message: 03/06/2015, 10h52
  3. Manipulation d'Internet Explorer via VBA
    Par jll13 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/01/2013, 19h24
  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