Erreur 91
Résolu
moi0033
Messages postés
3
Statut
Membre
-
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14930 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
petit problème: lorsque j'exécute le code ci-dessous, j'ai une erreur 91 qui s'affiche, variable objet ou variable de bloc non définie (il arrive également que dans de rares cas, cette erreur ne s'affiche pas, étrange!). Cela fait quelques temps que je cherche mais impossible d'en comprendre la cause (c'est sûrement un problème tout simple!). Des suggestions?
La ligne qui semble porter le problème est la suivante: cells(x, 2).Value = var1.innerText
Merci beaucoup!
petit problème: lorsque j'exécute le code ci-dessous, j'ai une erreur 91 qui s'affiche, variable objet ou variable de bloc non définie (il arrive également que dans de rares cas, cette erreur ne s'affiche pas, étrange!). Cela fait quelques temps que je cherche mais impossible d'en comprendre la cause (c'est sûrement un problème tout simple!). Des suggestions?
Dim IE As Object
Dim form As Variant
Dim button As Variant
Dim LR As Integer
Dim var As String
Dim var1 As Variant
LR = cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To LR
var = cells(x, 1).Value
Set IE = CreateObject("internetexplorer.application")
IE.Visible = True
With IE
.Visible = True
.navigate "http://lite.qwant.com"
While Not .readyState = READYSTATE_COMPLETE
Wend
End With
'Wait some to time for loading the page
While IE.Busy
DoEvents
Wend
Application.Wait (Now + TimeValue("0:00:02"))
IE.document.getElementById("homesearch").Value = var
'Here we are clicking on search Button
IE.document.getElementById("resultsearchbutton").Click
'wait for page to load
While IE.Busy
DoEvents
Wend
Application.Wait (Now + TimeValue("0:00:02"))
IE.document.getElementsByClassName("title")(0).all(0).Click
While IE.Busy
DoEvents
Wend
Application.Wait (Now + TimeValue("0:00:02"))
Set var1 = IE.document.getElementsByClassName("lien numdisplay")(0)
cells(x, 2).Value = var1.innerText
IE.Quit
Set IE = Nothing
Next x
La ligne qui semble porter le problème est la suivante: cells(x, 2).Value = var1.innerText
Merci beaucoup!
1 réponse
-
Bonjour,
Lorsque tu faisSet var1 = IE.document.getElementsByClassName("lien numdisplay")(0)
tu tentes de créer un objet mais si la création ne se fais pas il faut le testerif var1 is nothing then msgbox "erreur" else cells(x, 2).Value = var1.innerText End if-
-
Bonsoir,
en vérifiant sur la page la donnée que je veux récupérer a bien une classe lien numdisplay
Je ne doute pas de tes dires sauf que VBA ne le trouve pas avec ton paramétrage et que var1 = nothing : comme toujours c'est le code qui commande et sans doute que le nom de la classe est mal codé dans ta page. -
-
-
-