Correction d'un code
Résolu
Bonjour Le forum,
J'ai essayé d'adapter un code de Dontfretbrett mais j'ai une erreur d'execution type 91 sur la ligne sDD = Trim(Doc.getElementsByTagName("resultat")(1).innerText). Pourtant la variable est définie (Dim sDD As String) ? Merci pour votre aide.
"
J'ai essayé d'adapter un code de Dontfretbrett mais j'ai une erreur d'execution type 91 sur la ligne sDD = Trim(Doc.getElementsByTagName("resultat")(1).innerText). Pourtant la variable est définie (Dim sDD As String) ? Merci pour votre aide.
"
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = Range("Lien_entreprise").Row And _
Target.Column = Range("Lien_entreprise").Column Then
Dim Ie As New InternetExplorer
Ie.Visible = True
Ie.Navigate "https://www.pappers.fr/recherche?q=" & Range("Lien_entreprise").Value
Do
DoEvents
Loop Until Ie.readystate = READYSTATE_COMPLETE
Dim Doc As HTMLDocument
Set Doc = Ie.document
Dim sDD As String
sDD = Trim(Doc.getElementsByTagName("resultat")(1).innerText)
MsgBox sDD
End If
End Sub
2 réponses
-
Contributeurbonjour, suggestion pour éviter cette erreur:
Dim sDD As String, elm, sss elm = Doc.getElementsByTagName("resultat") If Not elm Is Nothing Then sss = elm(1) sDD = Trim(sss.innerText) MsgBox sDD Else MsgBox ("tag resultat pas present") End If Ie.Stop -
Bonjour yg_be,
Merci pour ta réponse, cela a en effet supprimer l'erreur. Par contre je n'ai aucune valeurs qui ressort, j'ai essayé avec plusieurs div class présente dans le code source mais aucune ne semble revenir. Une idée ? Merci :)-
-
@yg_beOui, j'ai fais inspecté et j'ai ciblé le contenu d'une balise class dont je souhaitais obtenir le contenu (voir photo jointe)

-
Contributeur@Youyou337005478pourquoi ne pas plutôt utiliser alors:
Doc.getElementsByClassName("resultat-content-categorie") -
@yg_beJe touche au but (grâce à ton aide précieuse). J'ai une erreur d'exécution sur la ligne " sss = elm(1)". Il me semble que dans la demo du code d'origine il précisait une position de la balise mais je n'ai pas bien saisie cette partie. Peux-tu m'en dire plus ?

-
Contributeur@Youyou337005478tu ne montres pas ton code.
chez moi, ceci fonctionne:Private Sub tst() Dim Ie As New InternetExplorer Ie.Visible = False Ie.Navigate "https://www.pappers.fr/recherche?q=" & "test" Do DoEvents Loop Until Ie.ReadyState = READYSTATE_COMPLETE Dim Doc As HTMLDocument Set Doc = Ie.Document Dim sDD As String, elm, sss Set elm = Doc.getElementsByClassName("resultat-content-categorie") If Not elm Is Nothing Then Dim ccc For Each ccc In elm Debug.Print "ccc", ccc.innerText Next ccc Set sss = elm(1) sDD = Trim(sss.innerText) MsgBox sDD Else MsgBox ("tag pas present") End If Ie.Stop End Sub
-