Sur Internet explorer

sormick -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Mon internet explorer est protégé par un mot de passe et nom utilisateur
Je souhaiterais via vba saisir automatiquement le nom d'utilisateur et mot de passe.
Je crois qu'on peut le faire avec sendkeys le problème c'est que parfois le popup du login et mot de passe s'affiche rapidement et parfois lentement donc soit le sendkeys s'active trop rapidement soit avec un wait time parfois il faut attendre longtemps.
Il y a t'il une méthode ou un code vba qui me permette de saisir le mot de passe instantanément dès que le popup du mot de passe s'affiche ?
Désolé si je ne suis pas très clair c'est pas évident à expliquer.

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,

    Quel est votre code actuel pour lancer IE?
    0
    1. sormick
       
      Voici mon code actuel:

      Set IEObject = CreateObject("InternetExplorer.Application")

      IEObject.Left = 75
      IEObject.Top = 75
      IEObject.Width = 400
      IEObject.Height = 300
      IEObject.MenuBar = 0
      IEObject.Toolbar = 0
      IEObject.Navigate2 "www.google.fr"
      IEObject.Visible = 1
      ie.Visible = vsbl
      Application.Wait(Now + TimeValue("0:00:01")
      SendKeys "password", True
      SendKeys "{TAB}", True
      SendKeys "password", True


      je voudrais changer application wit now par un code qui s'adapte mieux à l'apparition du popup du mot de passe à valider
      0
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Remplace ton code par celui-ci :

    Set IEObject = CreateObject("InternetExplorer.Application")
    
    IEObject.Left = 75
    IEObject.Top = 75
    IEObject.Width = 400
    IEObject.Height = 300
    IEObject.MenuBar = 0
    IEObject.Toolbar = 0
    IEObject.Navigate2 "www.google.fr"
    IEObject.Visible = 1 
       Do Until IEObject.ReadyState = READYSTATE_COMPLETE
          DoEvents
       Loop 
    SendKeys "password", True
    SendKeys "{TAB}", True
    SendKeys "password", True


    Ensuite, il y a peut être bien mieux que des Sendkeys (pas toujours très stables ces trucs là). Les champs correspondants à tes identifiants et mots de passe ont ils des id? des class?

    Très saine lecture pour manipuler IE depuis VBA...

    0