[VBA]ouvrir un page internet et inscrire un code pour ouvrir undossier

ouvrir un page internet et inscrire un code pour ouvrir undossier [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 06-08-2009 à 14:54:10    

Bonjour  
 
Je suis débutant  ^^et ....
Je dois allez chercher un dossier dans un serveur grâce une macro ....
 
je dois faire à  l'aide d'un bouton à  ouvrir  la page internet ... inscrire un nom d'utilisateur , et un  code , puis une fois dedans le serveur allez chercher le contenu d'un  dossier ...
 
Pour l'instant j'arrive juste à ouvrir la page internet ...( ce qui est deja pas mal :p ^^)
 

Code :
  1. Private Sub CommandButton4_Click()
  2.  
  3. 'L'utilisateur vient sélectionner le répertoire
  4.  
  5. Dim a
  6. a = Shell("C:\Program Files\Internet Explorer\iexplore.exe http://controld.gicm.net/bmc-ctd-w [...] ndow", vbNormalFocus)
  7.  
  8. End Sub


 
merci de votre aide  
cdt

Reply

Marsh Posté le 06-08-2009 à 14:54:10   

Reply

Marsh Posté le 06-08-2009 à 15:25:00    

Il y a sendKeys pour taper du texte mais faut arriver à mettre le focus là où il faut et ça j'ai aucune idée sur comment faire...

Reply

Marsh Posté le 06-08-2009 à 15:28:45    

euh pk ne pas essayer plutot de créer un objet IE?
du genre :

Code :
  1. Set ie = CreateObject("InternetExplorer.Application" )
  2. ie.Navigate ("tonadresse.html" )
  3. Do While ie.Busy
  4. WScript.Sleep (100)
  5. Loop


du coup plus de difficulté pour s'y adresser non?

Reply

Marsh Posté le 06-08-2009 à 15:38:36    

Je suis pas un beau gosse de vb :(  
 
un objet ie ?  
dans quel mesure cela facile le truc ?
comment faire pour entrer le nom de l'utilisateur et le code ?
puis pour continuer la recherche sur le serveur ?
 
merci

Reply

Marsh Posté le 06-08-2009 à 15:47:48    

Code :
  1. J'ai trouvais un truc mais ca marche pas ...
  2.  
  3. Sub l()
  4.  
  5. Dim inet
  6. Set inet = CreateObject("InternetExplorer.Application" )
  7. inet.Navigate ("http://forum.hardware.fr/hardwarefr/Programmation/sujet-47024-1.htm" )
  8. inet.Visible = True
  9. Do While Not inet.ReadyState = 4
  10.    
  11. Loop
  12. inet.Document.hop.contenu.Value = "Post créé automatiquement"
  13. inet.Document.hop.submit.Click
  14.  
  15.  
  16. End Sub

 
 

Reply

Marsh Posté le 06-08-2009 à 15:52:51    

L'interet d'avoir un objet Ie c'est de passer outre le besoin du focus ;)
Dès que tu veux t'adresser à ta page internet tu ferra objetie. quelque chose
Je ne connais pas trop cette objet donc faut chercher et en ce moment j'ai pas trop le temps
objetie.Document.jesaispasquoi
Devrai te permettre d'obtenir tout ce que tu veux
Il faudrait cherche de la doc sur l'objet
Je ne sais pas si c'est toi qui gère le site que tu vises mais en gros je crois qu'il te suffit de faire des ie.Document.leurid. Si tu ne sais pas ce qu'est un id en html je te renvoie au cours du siteduzero qui sont très bien fait ;)
 
Il me semble que ce site réponds à tes besoins
http://jacxl.free.fr/cours_xl/cours_xl_jac.html#mdp
 
sinon google  ;)

Reply

Marsh Posté le 06-08-2009 à 16:21:30    

re merci bcp pour le sit mais j'arrive pas à rentrer toto et zaza sur le sit ud mec :( , dou cela provient ?
 
ie.Navigate ("http://jacxl.free.fr/cours_xl/mdp.html" )  
ie.visible=true  
Do While ie.Busy  
wscript.sleep (100)  
Loop  
wscript.sleep (2000)  
Set dct = ie.Document.parentwindow.frames.Item(1).frames.Item(1).document  
dct.frm.user_name.value="toto"  
dct.frm.pass.value="zaza"  
dct.frm.submit  

Reply

Marsh Posté le 06-08-2009 à 17:54:47    

J'ai le choix entre:
- un gros coup de pas de moule
- me demander si tu ne vaux même pas la corde pour te pendre  :sol:  
 
mon code

Code :
  1. [#ff0000]Set ie = CreateObject("internetexplorer.application" ) [/#ff0000]
  2. ie.Navigate ("http://jacxl.free.fr/cours_xl/mdp.html" )  
  3. ie.visible=true  
  4. Do While ie.Busy  
  5.     wscript.sleep (100)  
  6. Loop  
  7. wscript.sleep (2000)  
  8. Set dct = ie.Document.parentwindow.frames.Item(1).frames.Item(1).document  
  9. dct.frm.user_name.value="toto"  
  10. dct.frm.pass.value="zaza"  
  11. dct.frm.submit


fonctionne très bien chez moi
Donc si comme je le présume tu as oublié le  

Code :
  1. Set ie = CreateObject("internetexplorer.application" )


T'as le droit à mon pied dtc :D
Sinon va falloir me présicer ton erreur  :??:

Reply

Marsh Posté le 07-08-2009 à 09:51:22    

non je l'avais mis lol quand même :p  
Il m'affiche une erreur  
 
membre introuvable (j'ai enlevé l'histoire si occupé attendre ^^ il aimait pas lol )
 
Set dct = ie.document.parentwindow.frames.Item(1).frames.Item(1).document
 
 
merci de maide lol  
Au faite je m'avance deja sur les questions ... si ca marche,  je l'espere , c'est uniquement pour des disposition super classique non ?  
ca marchera pour le sit ou je dois aller ?  
( cf 1er post en bleu )  
 
merci , ( j'attend un peu pour mon coup de pied , ma corde , mon flingue...etc) ^^

Reply

Marsh Posté le 07-08-2009 à 09:56:21    

Alors je ne comprends plus grand chose
Si tu copie exactement ce code

Code :
  1. Set ie = CreateObject("internetexplorer.application" )
  2. ie.Navigate ("http://jacxl.free.fr/cours_xl/mdp.html" )  
  3. ie.visible=true  
  4. Do While ie.Busy      
  5.     wscript.sleep (100)  
  6. Loop  
  7. wscript.sleep (2000)  
  8. Set dct = ie.Document.parentwindow.frames.Item(1).frames.Item(1).document  
  9. dct.frm.user_name.value="toto"  
  10. dct.frm.pass.value="zaza"  
  11. dct.frm.submit


Et que tu nommes ton fichier jenesaisquoi.vbs
Que se passe-t-il?  :??:
 
 
Edit : o put*** de  m**** je sens que tu fais du vba e que je donne des conseils en vbs :sweat:  :lol:


Message édité par _xme_ le 07-08-2009 à 09:57:55
Reply

Marsh Posté le 07-08-2009 à 09:56:21   

Reply

Marsh Posté le 07-08-2009 à 10:17:21    

lol oui je fais que du vba ,et je viens te passer ma corde ( humuor :p ) , mais je prend tout ce qui marche lol , si ton truc marche dans mon usual form ... mais non lol

Reply

Marsh Posté le 07-08-2009 à 15:09:04    

re
je viens de tester ce code là dans mon excel

Code :
  1. Sub Macro2()
  2. '
  3. ' Macro2 Macro
  4. ' Macro enregistrée le 07/08/2009 par 568341
  5. '
  6.  
  7. '
  8. Set ie = CreateObject("internetexplorer.application" )
  9. ie.Navigate ("http://jacxl.free.fr/cours_xl/mdp.html" )
  10. ie.Visible = True
  11. Do While ie.Busy
  12.  
  13. Loop
  14. Set dct = ie.document.parentwindow.frames.Item(1).frames.Item(1).document
  15. dct.frm.user_name.Value = "toto"
  16. dct.frm.pass.Value = "zaza"
  17. dct.frm.submit
  18. End Sub


et ca marche ;)
l'inconvenient par rapport au précédent, c'est que tant que la page internet n'est pas chargée, Excel suce le CPU
Je suis très étonné que la pause ne marche pas sous excel.
Si t'as le temps regarde comment faire une pause en vba, là perso je n'ai malheureusement pas le temps
Par contre n'enleve surtout la boucle While
sinon tu essayes d'acceder à la page ie alors qu'elle n'est pas correctement chargée en mémoire d'ou des comportements imprévisible ;)

Reply

Marsh Posté le 19-08-2009 à 14:33:43    

Bonjour à tous,
Puis-je avoir le code qui permet de copier le champ de cellules des 4 lignes(A:D) tant que ceux de la ligne D ne sont pas vides vers un fichier "synthèse.xls" (et répéter la même chose avec plusieurs fichiers de même format)
Merci d'avance.

Reply

Marsh Posté le 20-08-2009 à 06:50:38    

_xme_ a écrit :

re
je viens de tester ce code là dans mon excel

Code :
  1. Sub Macro2()
  2. '
  3. ' Macro2 Macro
  4. ' Macro enregistrée le 07/08/2009 par 568341
  5. '
  6.  
  7. '
  8. Set ie = CreateObject("internetexplorer.application" )
  9. ie.Navigate ("http://jacxl.free.fr/cours_xl/mdp.html" )
  10. ie.Visible = True
  11. Do While ie.Busy
  12.  
  13. Loop
  14. Set dct = ie.document.parentwindow.frames.Item(1).frames.Item(1).document
  15. dct.frm.user_name.Value = "toto"
  16. dct.frm.pass.Value = "zaza"
  17. dct.frm.submit
  18. End Sub


et ca marche ;)
l'inconvenient par rapport au précédent, c'est que tant que la page internet n'est pas chargée, Excel suce le CPU
Je suis très étonné que la pause ne marche pas sous excel.
Si t'as le temps regarde comment faire une pause en vba, là perso je n'ai malheureusement pas le temps
Par contre n'enleve surtout la boucle While
sinon tu essayes d'acceder à la page ie alors qu'elle n'est pas correctement chargée en mémoire d'ou des comportements imprévisible ;)


Bonjour,
avec peut-être un "do events" (vérifier la syntaxe)  en ligne 12

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed