VBA-Internet Atteindre la deuxième balise HTML
Bonjour,
J'aimerais prendre des numéros de produits que j'ai dans mon fichier Excel et les mettre dans un tableau adapté d'une page Web. Le but étant de faire des commandes via une macro. Je ne peux pas par contre vous montrer la page car elle est protégée via un mot de passe personnel. Mon problème est que je suis incapable d'atteindre mon tableau via un paquet de méthodes que j'ai essayé: getElementsbyTagName, getElementbyId, getElementsbyClassName...... Je pourrais pourtant atteindre les enfants (children) via des Id ou TagName mais je suis incapable d'atteindre les cases de mes numéros de produits car je ne les vois pas.
Après des heures d'essaies sans résultat j'ai remarqué qu'il y avait une deuxième balise <HTML> sur la même page web et que c'est à partir de là que je ne vois plus rien dans mes fenêtres de variables locales ou fenêtre espion. Y-a-t-il un moyen d'atteindre le contenu sur cette deuxième balise HTML. Faut-il faire quelque chose en particulier? Je vous met ma première partie du code cependant vous comprendrez que je ne peux divulguer les login et mot de passe.
Merci
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 41 42 43 44 45 46
| Option Explicit
Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub Commande()
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim Username As HTMLInputElement
Dim Password As HTMLInputElement
Dim Button1 As HTMLButtonElement
Dim Button2 As HTMLButtonElement
Dim Coll As IHTMLElementCollection
Dim j As Long
IE.navigate "monsiteinternet"
IE.Visible = True
Wait IE
Sleep 2000
Set IEDoc = IE.document
Set Username = IEDoc.all("UserName")
Username.Value = "username"
Set Password = IEDoc.all("Password")
Password.Value = "password"
Set Button1 = IEDoc.all("cmdSignIn")
Button.Click
Wait IE
Sleep 2000
Set Button2 = IEDoc.all("cmdOk")
Button2.Click
Wait IE
Sleep 2000
j = Feuil13.Cells(Range("A:A").Cells.Count, 1).End(xlUp).Row
'C'est ici que j'ai fait une multitudes de tests mais sans résultat
'Erreur sur la prochaine ligne car l'id n'est pas reconnu (variable objet non défini)
IEDoc.all("id_de_mon_premier_numero_a _commander").Value = "monnumérodeproduit"
.....
End Sub |