Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Executer javascript de vba [ Réseaux & Internet / Internet ] (Preetamus)

jeudi 26 juin 2008 à 10:48:16 | Executer javascript de vba

Preetamus

Bonjour a tous

je voudrai automatiser la collecte de données via internet et pour cela je pilote explorer de VBA. Cependant je tombe sur une page ou il y a un bouton mais qui est lié à un javascript je crois:

<TD vAlign="bottom" align="right" rowSpan="5">
    <table id="_ctl0_tabVol_ucHisto1_CdcPanel1_but_go" height="" width="">
             <tr>
              <td class="clsbuttonblue" nowrap="true" align="center" valign="middle"><a href="javascript:Href_ctl0_tabVol_ucHisto1_CdcPanel1_but_go();" class="clsbuttontextblue" style="width:100%;">Valider</a></td>
             </tr>
            </table><script language='javascript'>
function Href_ctl0_tabVol_ucHisto1_CdcPanel1_but_go(){{if (typeof(Page_Validators)=='undefined' || typeof(Page_ClientValidate)!='function' ||  Page_ClientValidate()) __doPostBack('_ctl0$tabVol$ucHisto1$CdcPanel1$but_go','');}}</script>
            </TD>


Quand je fais les choses manuellement, il suffit de cliquer sur ce bouton pour qu'un tableau s'affiche sur lapage web. quelle commande dois-je utiliser pour que effectivement je puisse "cliquer" sur ce bouton via vba? voici le code que j'ai commencé (c du code de débutant ^^)

Public Etat As String
Public IE As New InternetExplorer    

            

Sub ConnectionIE()

Set IE = CreateObject("InternetExplorer.Application")

'rend IE visible

IE.Visible = True
   

IE.navigate " homepage "
     

While IE.readyState <> READYSTATE_COMPLETE
Wend

IE.document.all("pPwd").Value = "password"
IE.document.all("pLoginName").Value = "login"
IE.document.all("ctl00$column3$ctl00$buttonLogin").Click

While IE.LocationURL <> " sitepipo "
Wend

IE.navigate " Site3 "
'IE.parentWindow.execScript "Href_ctl0_tabVol_ucHisto1_CdcPanel1_but_go();"

End Sub


Merci de m'accorder votre temps !!


jeudi 26 juin 2008 à 11:31:33 | Re : Executer javascript de vba

Renfield

Administrateur CodeS-SourceS
tu peux simuler un Click sur le lien....
voir
http://www.vbfrance.com/codes/PILOTER-INTERNET-EXPLORER-OU-WEBBROWSER-REPONSE-FORUM_25669.aspx

jeudi 26 juin 2008 à 11:45:23 | Re : Executer javascript de vba

Preetamus

Salut Renfield

le problème que jai c'est que je narrive pas a trouver le nom (même en regardant le code source) du boutton à cliquer. comme tu le vois dans l'extrait de code source que jai posté au début, le boutton n'a pas de code... Quand j'ai fait

IE.document.all("ctl00$column3$ctl00$buttonLogin").Click


dans le code VBA que jai posté, le nom je l'avait eu sur le code source de la age web.. là je ne le trouve pas

jeudi 26 juin 2008 à 11:52:14 | Re : Executer javascript de vba

Preetamus

"ce bouton n'a pas de code"---> remplacer  par: "ce bouton n'a pas de nom"

désolé pour le bug

aussi un "p" avant "age"

jeudi 26 juin 2008 à 11:55:26 | Re : Executer javascript de vba

Renfield

Administrateur CodeS-SourceS
tu peux passer par la collection Links

jeudi 26 juin 2008 à 13:32:30 | Re : Executer javascript de vba

Preetamus

abon? comment faire?
 jsui désolé mais je ne vois pas tro ce que tu veux dire

jeudi 26 juin 2008 à 13:49:46 | Re : Executer javascript de vba

Renfield

Administrateur CodeS-SourceS
WebBrowser1.Document.Links(0).Click

quand tu cherches, ouvre l'oeil et fouine dans l'explorateur d'objets (F2) :

Property links As IHTMLElementCollection
    Lecture seule
    Membre de MSHTML.HTMLDocument

Sub click()
    Membre de MSHTML.HTMLLinkElement

jeudi 26 juin 2008 à 14:51:57 | Re : Executer javascript de vba

Preetamus

je n'ai pas tout compris parceke certaines lignes de ton code génère des erreurs
notamment

Property links As IHTMLElementCollection


jai rajouté

Dim Links As IHTMLElementCollection
Set html1 = IE.document
Set Links = html1.all

à mon code pour avoir tous les links qui sont sur la page web. de plus je c que je pe utiliser .tags().item() pour acceder au lien que je ve. cependant je ne sait pas quels arguments mettre dans tags et item (vu que je ne connais pas le nom du bouton sous html )

Sinon j'ai comme tu la déjà remarqué, le bouton est dans une cellule du tableau créé sur html. cependant je ne sait pas comment dire à vba d'y accéder...

merci pour ton attention
Preetamus

jeudi 26 juin 2008 à 15:01:07 | Re : Executer javascript de vba

Renfield

Administrateur CodeS-SourceS
euh.... tu confonds un peu, là....

ça :

Property links As IHTMLElementCollection
    Lecture seule
    Membre de MSHTML.HTMLDocument

Sub click()
    Membre de MSHTML.HTMLLinkElement


c'est pas du code, ca vient de la documentation....

le code a utiliser, c'est bel et bien :

WebBrowser1.Document.Links(0).Click

(modifier l'indice '0' pour cibler le bon lien)

jeudi 26 juin 2008 à 15:33:10 | Re : Executer javascript de vba

Preetamus

lol ok jai un peu confondu...

en ce qui concerne l'indice, justement tout le problème est là .

comment faire pour trouver le bon indice? sachant qu'il y a plus de 60 liens sur la page sur laquelle je travaille.. je dois pas les essayer 1 à 1 non  (stp dis moi que non)

 



1 2

Cette discussion est classé dans : bouton, vba, javascript, page, ie


Répondre à ce message

Sujets en rapport avec ce message

Comment piloter IE - lancement javascript dans la page [ par vevette ] Je désire lancer à partir de vb une page HTML.Je sais remplir les champs de la page.Par contre je ne sais pas lancer le bouton valider de la page html Comment lancer un lien javascript par vba?? [ par pegase71 ] Bonjour, J'essaie de piloter par une macro une page web pour récupérer sur cette page un tableau de données. Comment en vba lancer un lien en javascr pb vba excel : option bouton et masquage de cellules [ par fredericmaill ] Bonjour,   J’ai un pb en vba excel, Voila j’ai sur une feuille Excel 3 bouton radios (bouton option en vba) Je voudrais que lorsque le bouton option VBA ouvrir navigateur par defaut [ par CheWby ] Bonjour tous le monde,je doit créer un bouton pour mon entreprise un bouton (msgbox, vbyesno) en cliquant sur le bouton oui qu'il ouvre le site intran Cacher / afficher des boutons [ par philippe ] Bonjour Sur une page j'ai 2 boutons nommés A et B a l'ouverture de la page je veux cacher le bouton A lorsqu'on clic sur le bouton A on le cache pou simuler un click sur une page web avec VBA (ou autre langage) [ par mickey91 ] Je cherche un moyen de simuler un click sur un bouton d'une page web (dont j'ai l'URL) sans avoir à le faire manuellement. C'est pour répéter cette op commande bouton excel vba [ par Yves951 ] Bonsoir à tous,  Débutant sur excel (2003) mais ayant des connaissances j'ai crée un petit programme.  Sur ma page d'accueil, il y a un bouton de comm VBA et le PDF dans IE [ par chapata ] Hi,Je cherche à récupérer du texte dans un PDF visible dans Internet Explorer.J'explique, à ce jour je récupère toutes les valeurs que je souhaite dan Cherche code simple pour ajouter un bouton dans IE [ par bobjay ] Salut, je cherche un exemple le + simple possible qui permet d'ajouter (et retirer) un bouton dans IE...Merci d'avance ;) Plusieurs boutons pour même action [ par sopra178 ] bonjour,Dans un document Word, j'ai un tableau avec près de 200 lignes et à chaque ligne je veux mettre un bouton du style "ligne à supprimer".Le prob


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.