CLIQUER SUR UN LIEN JAVASCRIPT / CONTRÔLE DE INTERNET EXPLORER / REMPLIR UN FORM
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008
-
22 avril 2008 à 18:19
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
11 juil. 2008 à 11:19
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 11 juil. 2008 à 11:19
checked = true
me semble
bandifull
Messages postés19Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention11 juillet 2008 11 juil. 2008 à 11:13
J'ai (enfin) reussit a la faire fonctionner, excellente source.
Savez vous comment on peut cocher un bouton radio d'un formulaire ?
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 juin 2008 à 17:12
tu dois typer tes variables.... VB2008 est plus contraignant...
pas de
IE.Document.All ....
mais
Dim oDoc As ....
oDoc = IE.Document
oDoc.All ....
bandifull
Messages postés19Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention11 juillet 2008 19 juin 2008 à 16:53
Pourtant je reprend exactement le même code :(
J'ai pourtant bien ajouté les 2 références
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 19 juin 2008 à 15:40
ta variable semble ne pas avoir été typée
bandifull
Messages postés19Date d'inscriptionjeudi 7 décembre 2006StatutMembreDernière intervention11 juillet 2008 19 juin 2008 à 15:29
Bonjour à tous !
Ceci ne marche pas chez moi
IE.Document.all("idUser").Value = "Jeannot" 'textbox...
En effet, apres Document, j'ai seulement Equals, GetHashCode, GetType ReferenceEquals ou ToString
Ceci est surement du à VB express 2008. Quelqu'un a t-il une idée pour trouver l'équivalent ?
cernf
Messages postés5Date d'inscriptionlundi 28 avril 2008StatutMembreDernière intervention 2 mai 2008 2 mai 2008 à 15:41
Completement génial, bien vu !!
Merci, a+
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008 2 mai 2008 à 15:36
Bon j'ai trouvé l'erreur. enfait, l'erreur affiche a cause que le login et password est dans une frame donc pour remplir les deux zone de texte il faut que tu sois dans la page de la frame
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.Navigate ("http://www.boursedirect.fr/frmTop.php")
Do While IE.readyState <> 4
Loop
IE.document.All("login").Value = "ton_identifiant"
IE.document.All("password").Value = "ton_mot_de_passe"
IE.document.Forms(0).submit
j'ai tester et sa marche
cernf
Messages postés5Date d'inscriptionlundi 28 avril 2008StatutMembreDernière intervention 2 mai 2008 2 mai 2008 à 14:59
C'est bien comme ça que je faisais avant (ce qui marche très bien sur yahoo par ex), mais l'erreur 91 apparait toujours pour ce site.
Pour info voilà ma macro :
Sub BD()
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.Navigate ("http://www.boursedirect.fr/")
Do While IE.readyState <> 4
Loop
IE.document.all("login").Value = "ton_identifiant"
IE.document.all("password").Value = "ton_mot_de_passe"
IE.document.forms(0).submit
End Sub
ça marche bien chez toi? Sinon il me manque peut etre une référence, mais laquelle!?
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008 30 avril 2008 à 21:56
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008 30 avril 2008 à 00:18
Si tu pourrais nous donner le lien du site en question ont pourraient t'aider plus facilement je crois.
cernf
Messages postés5Date d'inscriptionlundi 28 avril 2008StatutMembreDernière intervention 2 mai 2008 29 avril 2008 à 20:54
C'est possible et pourtant le code source a l'air de lui en donner un... voilà un extrait :
Si ça vous inspire + que moi, merci d'avance
mzfr
Messages postés17Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention10 juillet 2008 29 avril 2008 à 00:11
Il me semble que l'erreur 91 apparait quand il n'y a pas l'objet que l'on indique, l'inputbox n'a peut etre pas de name ?
cernf
Messages postés5Date d'inscriptionlundi 28 avril 2008StatutMembreDernière intervention 2 mai 2008 28 avril 2008 à 22:50
Bonjour à tous,
avec des pages comme yahoo ou google, ça marche très bien pour se logger :
'IE.Document.all("idUser").Value = "Jeannot"
Mais je tombe sur une erreur 91 quand je teste ça sur d'autres pages...
Même chose avec un code du genre :
'Set x = IE.document.getelementsByName("login")
'x.Item(0).Value = "Jeannot"
Quel est le souci à votre avis?
Merci d'avance !!
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008 25 avril 2008 à 20:25
Oui sa devrais marcher pour la loop
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 avril 2008 à 14:04
l'aide ne comporte donc pas ses mots clé ^^
peux pas te dire : j'ai pas l'aide, je regarde sur le site MSDN
dhcp
Messages postés3Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention25 avril 2008 25 avril 2008 à 13:13
FM : Renfield le 25/04/2008 10:31:34
euh....
sur quelle ligne ?
En fait, dans environnement de dev, lorsque tu surligne un mot clé, la touche F1 appelle l'aide sur ce mot clé.
Mais pour les objet méthodes et propriétés de "Microsoft HTML Object Library" et "Microsoft Internet Controls" F1 me ramène "Mot clé introuvable".
mzfr
Messages postés17Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention10 juillet 2008 25 avril 2008 à 12:04
i = 0
(Capo666) Dites moi ce que vous pensez de ça :
object.Click
'attend que la page soit chargée
Do While IE.ReadyState <> READYSTATE_INTERACTIVE Or IE.ReadyState <> READYSTATE_LOADING
DoEvents
i = i + 1
If i > 30000 Then
Exit Do
End If
Loop
Do While IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
mzfr
Messages postés17Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention10 juillet 2008 25 avril 2008 à 11:45
Ah oui, merci DHCP, c'est auand même beaucoup plus pratique avec la complétude du code...hihi honte à moi !!
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 25 avril 2008 à 10:31
euh....
sur quelle ligne ?
dhcp
Messages postés3Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention25 avril 2008 25 avril 2008 à 10:29
Merci Renfield
Désormais la complétude est assurée, mais je n'ai toujours pas d'aide en ligne : "Mot clé introuvable".
Si tu as une idée
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008 24 avril 2008 à 19:01
oui et que sa va faire un erreur car sa attent pas que la page soit charger
mzfr
Messages postés17Date d'inscriptionmercredi 5 avril 2006StatutMembreDernière intervention10 juillet 2008 24 avril 2008 à 14:06
Ahh ouii ouii Capo666, je crois que je viens de comprendre ce aue tu veux dire, c'est à dire aue lorsque tu cliques sur un bouton IE est déjà dans l'état 4 (readystate Complete)
ce qui veut dire que le test de boucle passerai directement ???
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 24 avril 2008 à 09:18
DHCP => ca vient du fait qu'il te faut ajouter la reference "Microsoft HTML Object Library"
et le composant "Microsoft Internet Controls"
de plus je vois:
Dim IE As Object
qu'il faudra modifier en :
Dim IE As InternetExplorer
capo666
Messages postés35Date d'inscriptionjeudi 8 septembre 2005StatutMembreDernière intervention 1 juin 2008 24 avril 2008 à 00:10
Observe bien :
Quand tu appelles une URL (avec Navigate), le ReadyState passe par les états suivants :
Uninitialized, Loading, Interactive, Complete
Puis, quand tu cliques sur un bouton, les états sont :
Interactive, Complete
Donc, il te suffit de créer autant de boucle Do-Loop que tu as d'état à voir défiler :
Quand tu appelles l'URL, ce qui t'intéresse, c'est l'état final :
Do While ie.ReadyState <> 4
DoEvents
Loop
Ensuite, tu sais que tu vas cliquer sur un bouton, il faut attendre qu'apparaissent successivement Interactive, puis Complete :
Do While ie.ReadyState <> 3
DoEvents
Loop
Do While ie.ReadyState <> 4
DoEvents
Loop
voila
dhcp
Messages postés3Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention25 avril 2008 23 avril 2008 à 21:14
Propre et élégant!
J'ai un petit souci, sous VBA access le code fonctionne parfait, mais je n'ai pas la complétude des méthodes et propriétés, ni d'aide en ligne sur les objet IE.
Par exemple pour "IE.ReadyState" ReadyState est inconnu de l'aide et quand je tape "IE." l'environnement de dev ne propose aucune méthodes objets ou propriétés.
Merci par avance
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 23 avril 2008 à 13:26
3, 4 fichtre !que c'est parlant...
Membres de SHDocVwCtl.tagREADYSTATE :
Const READYSTATE_INTERACTIVE = 3
Const READYSTATE_COMPLETE = 4
11 juil. 2008 à 11:19
me semble
11 juil. 2008 à 11:13
Savez vous comment on peut cocher un bouton radio d'un formulaire ?
19 juin 2008 à 17:12
pas de
IE.Document.All ....
mais
Dim oDoc As ....
oDoc = IE.Document
oDoc.All ....
19 juin 2008 à 16:53
J'ai pourtant bien ajouté les 2 références
19 juin 2008 à 15:40
19 juin 2008 à 15:29
Ceci ne marche pas chez moi
IE.Document.all("idUser").Value = "Jeannot" 'textbox...
En effet, apres Document, j'ai seulement Equals, GetHashCode, GetType ReferenceEquals ou ToString
Ceci est surement du à VB express 2008. Quelqu'un a t-il une idée pour trouver l'équivalent ?
2 mai 2008 à 15:41
Merci, a+
2 mai 2008 à 15:36
il suffit juste de mettre le url de la frame http://www.boursedirect.fr/frmTop.php
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.Navigate ("http://www.boursedirect.fr/frmTop.php")
Do While IE.readyState <> 4
Loop
IE.document.All("login").Value = "ton_identifiant"
IE.document.All("password").Value = "ton_mot_de_passe"
IE.document.Forms(0).submit
j'ai tester et sa marche
2 mai 2008 à 14:59
Pour info voilà ma macro :
Sub BD()
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.Navigate ("http://www.boursedirect.fr/")
Do While IE.readyState <> 4
Loop
IE.document.all("login").Value = "ton_identifiant"
IE.document.all("password").Value = "ton_mot_de_passe"
IE.document.forms(0).submit
End Sub
ça marche bien chez toi? Sinon il me manque peut etre une référence, mais laquelle!?
30 avril 2008 à 21:56
IE.Document.all("login").Value = "ton_identifiant"
IE.Document.all("password").Value = "ton_mot_de_passe"
IE.Document.forms(0).submit
30 avril 2008 à 19:14
30 avril 2008 à 00:18
29 avril 2008 à 20:54
Si ça vous inspire + que moi, merci d'avance
29 avril 2008 à 00:11
28 avril 2008 à 22:50
avec des pages comme yahoo ou google, ça marche très bien pour se logger :
'IE.Document.all("idUser").Value = "Jeannot"
Mais je tombe sur une erreur 91 quand je teste ça sur d'autres pages...
Même chose avec un code du genre :
'Set x = IE.document.getelementsByName("login")
'x.Item(0).Value = "Jeannot"
Quel est le souci à votre avis?
Merci d'avance !!
25 avril 2008 à 20:25
25 avril 2008 à 14:04
peux pas te dire : j'ai pas l'aide, je regarde sur le site MSDN
25 avril 2008 à 13:13
euh....
sur quelle ligne ?
En fait, dans environnement de dev, lorsque tu surligne un mot clé, la touche F1 appelle l'aide sur ce mot clé.
Mais pour les objet méthodes et propriétés de "Microsoft HTML Object Library" et "Microsoft Internet Controls" F1 me ramène "Mot clé introuvable".
25 avril 2008 à 12:04
(Capo666) Dites moi ce que vous pensez de ça :
object.Click
'attend que la page soit chargée
Do While IE.ReadyState <> READYSTATE_INTERACTIVE Or IE.ReadyState <> READYSTATE_LOADING
DoEvents
i = i + 1
If i > 30000 Then
Exit Do
End If
Loop
Do While IE.ReadyState <> READYSTATE_COMPLETE
DoEvents
Loop
25 avril 2008 à 11:45
25 avril 2008 à 10:31
sur quelle ligne ?
25 avril 2008 à 10:29
Désormais la complétude est assurée, mais je n'ai toujours pas d'aide en ligne : "Mot clé introuvable".
Si tu as une idée
24 avril 2008 à 19:01
24 avril 2008 à 14:06
ce qui veut dire que le test de boucle passerai directement ???
24 avril 2008 à 09:18
et le composant "Microsoft Internet Controls"
de plus je vois:
Dim IE As Object
qu'il faudra modifier en :
Dim IE As InternetExplorer
24 avril 2008 à 00:10
Quand tu appelles une URL (avec Navigate), le ReadyState passe par les états suivants :
Uninitialized, Loading, Interactive, Complete
Puis, quand tu cliques sur un bouton, les états sont :
Interactive, Complete
Donc, il te suffit de créer autant de boucle Do-Loop que tu as d'état à voir défiler :
Quand tu appelles l'URL, ce qui t'intéresse, c'est l'état final :
Do While ie.ReadyState <> 4
DoEvents
Loop
Ensuite, tu sais que tu vas cliquer sur un bouton, il faut attendre qu'apparaissent successivement Interactive, puis Complete :
Do While ie.ReadyState <> 3
DoEvents
Loop
Do While ie.ReadyState <> 4
DoEvents
Loop
voila
23 avril 2008 à 21:14
J'ai un petit souci, sous VBA access le code fonctionne parfait, mais je n'ai pas la complétude des méthodes et propriétés, ni d'aide en ligne sur les objet IE.
Par exemple pour "IE.ReadyState" ReadyState est inconnu de l'aide et quand je tape "IE." l'environnement de dev ne propose aucune méthodes objets ou propriétés.
Merci par avance
23 avril 2008 à 13:26
Membres de SHDocVwCtl.tagREADYSTATE :
Const READYSTATE_INTERACTIVE = 3
Const READYSTATE_COMPLETE = 4
leur doc ( http://msdn2.microsoft.com/en-us/library/bb268229(VS.85).aspx ) nous dit:
READYSTATE_INTERACTIVE
Object is interactive, but not all of its data is available.
READYSTATE_COMPLETE
Object has received all of its data.
-----------------
a lire également:
http://groups.google.com/group/microsoft.public.inetsdk.programming.dhtml_editing/browse_thread/thread/f54cc97916235519
----------
en somme, je ne comprends pas le bien fondé de ta remarque, Capo666
23 avril 2008 à 12:48
22 avril 2008 à 18:19
Do While IE.ReadyState <> 3
DoEvents
Loop
Do While IE.ReadyState <> 4
DoEvents
Loop