IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Souci dans le pilotage d'internet explorer avec vba


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Souci dans le pilotage d'internet explorer avec vba
    Bonjour a tous !
    Voila j'ai essayé pas mal de choses pour piloter IE qui marchent pour les sites proposés en exemple mais malheuresment pas pour un site intranet du boulot.

    La premiere étape consiste a se connecter a l'intranet. donc login + mdp

    J'ai le code source de la page qui correspond a ces 2 champs :


    Code htm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <input type="text" id="X3" name="var/user.id" dvdVar="" ButtonId="Text7" dataType="" scType="Text" tabindex="1243" style="width:153px; height:19px;" maxlength="" onkeydown="lockForm();void(0);" class="inputCaps" onkeyup="checkLastRow(this);" onfocus="handleOnFocus(this, event);" onchange="forceCase(this,'upper'); handleOnChange(this, event);" onclick="handleOnClick(this, event);" onblur="forceCase(this,'upper');" value="" scripttype="text">
    </div>
    <span id="X4" type="label" style="overflow:hidden; position:absolute; white-space:nowrap; top:110px; left:68px; width:63px; height:19px;  color:#000000;"><label for="X5">Mot de passe :</label></span>
    <div id="X5Border" MyAttrib="EditBorder" style="position:absolute;top:110px;left:144px; width:153px; height:19px;">
    <input type="password" id="X5" name="var/old.password" dvdVar="" ButtonId="Text9" dataType="" scType="Text" tabindex="1244" style="width:153px; height:19px;" maxlength="" onkeydown="lockForm();void(0);" onkeyup="checkLastRow(this);" onfocus="handleOnFocus(this, event);" onchange="handleOnChange(this, event);" onclick="handleOnClick(this, event);" value="">
    </div>

    Je n'arrive pas du tout à remplir le champs du login qui semble avoir l'ID "X3".

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub connexion()
        Dim IE As InternetExplorer
        Dim IEdoc As Object
        Dim DOCelement As Object
     
        Set IE = New InternetExplorer
        IE.Visible = True
        IE.navigate ("http://servicecenter.intra.groupama.fr/sc/index.do")
         ' attente de fin de chargement
        Do Until IE.readyState = 4
            DoEvents
        Loop
        Set IEdoc = IE.Document
        IEdoc.getElementById("X3").Value = "cafeine"
        'connexion
         'Set DOCelement = IEdoc.Forms(0)
         'DOCelement.submit
    End Sub

    J'ai le message : Variable objet ou variable de bloc With non définie.

    Voila j'espere que vous pourrez m'aider, j'ai vraiment essayer pas mal de choses avant de poster ici mais rien n'a marché. J'ai l'impression qu'il ne peut pas trouver les éléments de la page..

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonjour,
    Ajoute un Debug.print typename(iedoc) juste avant set Iedoc
    et place un point d'arrêt sur set IEDoc.
    Il y a fort à parier qu'il y a un temps de latence à l'affectation de iedoc
    d'où l'intérêt d'utiliser plutôt une procédure asynchrone.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    rebonjour

    D'abord merci pour ta réponse !
    Ensuite j'ai mis un point d'arret sur le set, j'ai attendu 20s et toujours le meme souci.
    Au niveau du debug, j'ai nothing avant le set ce qui est normal ( je pense ) et j'ai un HTMLDocument apres le set.

    Mais toujours le meme souci a la ligne
    IEdoc.getElementById("X3").Value = "cafeine"


  4. #4
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    J'ai testé en remplaçant l'url par un fichier en local contenant le code source de la page html que tu indiques plus haut
    et cela fonctionne correctement !

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    lol ben alors pourquoi ca ne marcherait pas chez moi ?

    Je ne suis pas fou que meme..
    Je n'ai pas mis le code source de la page en entier, j'ai choisi uniquement les champs qui m'interesse

    Est ce que ca peut venir de la ?
    Merci mille fois en tout cas pour ton temps !

    EDIT :
    Je vien moi aussi de le tester en local et effectivment juste avec cette partie du code source ca marche, j'essaie avec le code entier..

    RE EDIT :
    Bon ben avec tout le code source ca marche également en local !
    mais pas en intranet... se pourrait-il que l'admin réseau de la boite ait bloqué quelque chose ?

  6. #6
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Ça y ressemble.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Merci DarkVader
    Bon ben j'ai essayer avec d'autres sites internet et ca fonctionne !!
    Je ne vois vraiment pas pourquoi avec celui-la ca ne fonctionnerait pas !

    Je te remercie en tout cas pour ton aide

    Si toi ou quelqu'un d'autre a une idée ca m'arrangerait énormément pour mon projet...

  8. #8
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    mais si je réussi a le faire pour les autres sites internet, c'est que ca ne vient pas d'un bloquage de l'admin réseau mais plus au nuvieau du site en lui meme ? est-ce possible ?

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/07/2013, 12h47
  2. Réponses: 10
    Dernier message: 10/11/2011, 00h46
  3. Réponses: 3
    Dernier message: 13/07/2011, 10h38
  4. Bug internet explorer avec hotmail.com
    Par rub091 dans le forum IE
    Réponses: 8
    Dernier message: 31/05/2006, 09h21
  5. Réponses: 16
    Dernier message: 25/11/2005, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo