fred.toto
Messages postés73Date d'inscriptionmardi 10 avril 2001StatutMembreDernière intervention 4 mars 2009
-
26 févr. 2009 à 08:32
fred.toto
Messages postés73Date d'inscriptionmardi 10 avril 2001StatutMembreDernière intervention 4 mars 2009
-
4 mars 2009 à 12:53
Bonjour à tous,
j'ai un problème récurrent:
j'ai l'erreur "Erreur n°: 91 - Description: Variable objet ou variable bloc With non définie"entre le
Debug.Print "Magic - i: " & i
et le
Debug.Print "Magic - f_inet.Document.body.innerHTML: " & Right(f_inet.Document.body.innerHTML, 50)
du code suivant.
Perso, je ne comprends pas bien pourquoi mais bon. Quand je mets un point d'arrêt sur le second debug, tout se passe bien, mais aussitot qu'il se lance tout seul, il plante...
Au cas où vous auriez une idée, je joinds le code.
Merci d'avance.
Fred.
Sub Magic()
Dim i As Integer
Dim j As Integer
Dim f_inet As Object
Affecte_Carte_HTML i, f_inet.Document.body.innerHTML
Debug.Print "Magic - Après Affecte_Carte_HTML " & i & ", f_inet.Document.body.innerHTML"
gp_Carte_Magic(i).Desc_francais = Supp_Balises(i)
If ExisteDeja("extension", gp_Carte_Magic(i).Edition) Then
f_id_extension = Lecture("extension", gp_Carte_Magic(i).Edition)
Else
f_id_extension = Insert_Extension(i)
End If
If ExisteDeja("type", gp_Carte_Magic(i).Type) Then
f_id_type = Lecture("type", gp_Carte_Magic(i).Type)
Else
f_id_type = Insert_Type(i)
End If
If ExisteDeja("langue", "Français") Then
f_id_langue = Lecture("langue", "Français")
Else
f_id_langue = Insert_Langue(i)
End If
If ExisteDeja("dessinateur", gp_Carte_Magic(i).Illustrateur) Then
f_id_dessinateur = Lecture("dessinateur", gp_Carte_Magic(i).Illustrateur)
Else
f_id_dessinateur = Insert_Dessinateur(i)
End If
If Not ExisteDeja("carte", gp_Carte_Magic(i).VO, f_id_extension) Then
Insert_Carte i, _
f_id_extension, _
f_id_type, _
f_id_langue, _
f_id_dessinateur
End If
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 26 févr. 2009 à 09:06
la faute à ton ReadyState = 4
faut tester d'abord la valeur 3 (interactive) :
en gros, tester qu'il est bien en train de bosser pour toi. Sans cela, tu testes en gros le complete de la page chargée auparavant
With CreateObject("InternetExplorer.Application")
.Visible = True
.Navigate "http://www.google.com/"
Do
DoEvents
Loop Until .ReadyState = 3
Do
DoEvents
Loop Until .ReadyState = 4
MsgBox .Document.getElementsByTagName("body")(0).innerHTML
.Navigate ("http://www.ebay.fr/")
Do
DoEvents
Loop Until .ReadyState = 3
Do
DoEvents
Loop Until .ReadyState = 4
MsgBox .Document.getElementsByTagName("body")(0).innerHTML
End With