Comment get des éléments Web en utilisant VBA

Je veux essentiellement pouvoir lire le classment des joueurs en utilisant VBA dans Excel, mais je n'ai pas pu le faire fonctionner. Je reçois une erreur de valeur et je ne peux pas comprendre pourquoi. Je n'ai qu'une connaissance très basique de VBA, alors soyez patient.

J'ai donc changé le code sur ce qui est montré ci-dessous, mais lorsqu'il est exécuté dans excel, il renvoie une valeur de 0. Nevermind a travaillé lorsque j'ai redémarré excel. Merci pour votre aide!

Function player_battlerank(player_name As Ssortingng) start1: Set objhttp1 = New WinHttp.WinHttpRequest Dim doc1 As MSHTML.HTMLDocument objhttp1.Open "GET", "http://ps2.fisu.pw/player/?name=" & player_name, True objhttp1.send objhttp1.waitforresponse If objhttp1.status <> 200 Then GoTo start1 Set doc1 = New MSHTML.HTMLDocument doc1.body.innerHTML = objhttp1.responseText Set obj1 = doc1.getelementbyid("stat_overview") For Each obj3 In obj1.getelementsbytagname("div") If obj3.innerText Like "*BATTLE RANK*" Then player_battlerank = obj3.getelementsbytagname("b")(0).innerText Exit Function End If Next obj3 End Function 

Quelque chose comme ça devrait fonctionner:

 '.... Set doc1 = New MSHTML.HTMLDocument doc1.body.innerHTML = objhttp1.responseText Set obj1 = doc1.getelementbyid("stat_overview") For Each obj3 In obj1.getelementsbytagname("div") If obj3.innerText Like "*BATTLE RANK*" Then player_rank = obj3.getelementsbytagname("b")(0).innerText Exit Function End If Next obj3 '.... 

Bien que ne fasse pas partie de la question initiale, si vous vouliez find une tenue de désirs, ils pensaient que ce code fonctionnerait mais je continue d'get le #VALUE! Erreur. Je suis un peu confus par celui-ci car il n'y a pas d'identifiant d'élément que je puisse find pour la section de l'équipement sur la page Web.

 Function player_outfit(player_name As Ssortingng) start1: Set objhttp1 = New WinHttp.WinHttpRequest Dim doc1 As MSHTML.HTMLDocument objhttp1.Open "GET", "http://ps2.fisu.pw/player/?name=" & player_name, True objhttp1.send objhttp1.waitforresponse If objhttp1.status <> 200 Then GoTo start1 Set doc1 = New MSHTML.HTMLDocument doc1.body.innerHTML = objhttp1.responseText Set obj1 = doc1.getelementbyid("mainstats") For Each obj5 In obj1.getelementsbytagname("div") If Left(obj5.innerText, 6) = "OUTFIT" Then player_outfit = Application.Substitute(obj5.innerText, "OUTFIT", "") Exit Function End If Next obj5 End Function