3 pièce(s) jointe(s)
IE.document contient toujours <Aucune variable> et donne une incompatibilité de type
Bonjour,
Je suis le tutoriel de Qwazerty Interaction avec Internet Explorer via VBA Excel et en reprenant le code donné en exemple, je m'aperçois que la variable IE n'est pas alimentée.
Le code que j'emploie est celui de la section IV-C. Inscrire du texte dans une zone de texte
Code:
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
|
Option Explicit
Sub RechercheVBAExcel()
'Déclaration des variables
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim InputGoogleZoneTexte As HTMLInputElement
Dim InputGoogleBouton As HTMLInputElement
'Chargement d'une page Web Google
IE.navigate "www.google.fr"
'Affichage de la fenêtre IE
IE.Visible = True
'On attend le chargement complet de la page
WaitIE IE
'On pointe le membre Document
Set IEDoc = IE.document
'On pointe notre Zone de texte
Set InputGoogleZoneTexte = IEDoc.all("q")
'On définit le texte que l'on souhaite placer à l'intérieur
InputGoogleZoneTexte.Value = "VBA Excel"
'On attend la fin de la recherche
WaitIE IE
'On libère les variables
Set IE = Nothing
Set IEDoc = Nothing
End Sub
Sub WaitIE(IE As InternetExplorer)
'On boucle tant que la page n'est pas totalement chargée
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop
End Sub |
Les références sont : Pièce jointe 449690
J'exécute la macro en mode pas à pas.
La page internet explorer 11 est bien ouverte et chargée.
La fenêtre espion donne, quand je suis arrêté avant l'exécution de la ligne 20 Set IEDoc = IE.document : Pièce jointe 449693
Et le message d'erreur (Erreur d'exécution '13': incompatibilité de type) quand j'exécute cette ligne 20 Set IEDoc = IE.document : Pièce jointe 449697
Comment faire en sorte que le contenu de la page internet soit effectivement passée dans IE afin que je puisse continuer à travailler s'il vous plaît ?
Merci d'avance et bonne journée.
2 pièce(s) jointe(s)
Erreurs sur les trois exemples
Bonsoir patricktoulon,
Merci pour tes informations complètes (j'ai déjà passé beaucoup de temps partout pour résoudre mon problème). J'aime bien trouver seul les solutions, c'est une façon d'apprendre.
J'exécute les trois exemples en mode pas à pas et lentement pour laisser le temps à la page de se charger, même s'il y a la boucle pour s'en assurer.
Sur l'exemple 1 (ligne 11, DoEvents) et l'exemple 2 (ligne 12, DoEvents), j'ai une erreur 462
Pièce jointe 450218
Sur l'exemple 3 (ligne 13, IE.document.getElementsByName("searchuser")(0).Value = "") donne une erreur 91. IE contient bien des informations et IE.Document contient <Aucune variable>
Pièce jointe 450221
Next step ?