Erreur 91
Résolu
moi0033
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 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!
A voir également:
- Erreur 91
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
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.
et si tu mets une petite tempo après le Set var1 au cas où ?
eric
Gbinforme tu avais raison bien sûr mais ce qui me posait question c'est que j'ai cette erreur 1/3 en ne changeant rien sans que je comprenne pourquoi. Ton code me permet toutefois d'aller au bout de ma macro même s'il y a une erreur alors merci 1000 fois!
la tempo n'a rien donné
Normal à mon avis, car ton problème vient du fait que le nom de ta classe dans ta page n'est pas encodé correctement.
Il faudrait peut-être que tu utilises une autre façon de choisir ta référence à sélectionner.