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

Macros et VBA Excel Discussion :

Se connecter à une page web vba [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 46
    Par défaut Se connecter à une page web vba
    Bonjour à tous,

    J'ai récupéré et adapté ce petit bout de code pour me connecter à une application web automatiquement après avoir rempli un formulaire.
    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
     
    Sub ie_open()
       With CreateObject("InternetExplorer.Application")
         .navigate "mon adresse"
         .Visible = True
         Do Until .readyState = 4
           DoEvents
         Loop
         DoEvents
         With .document
            .forms("XXXX").elements("login").Value = "XXXXX"
            .forms("XXXX").elements("password").Value = "XXXXX"
            .forms("XXXX").submit
         End With
      End With
    End Sub
    Le problème est que lorsque j'utilise le submit, le login et mdp n'est pas reconnu.

    Si je l'enlève, mes champs se remplissent correctement. En cliquant sur le bouton "se connecter" manuellement, j'arrive à me connecter.

    Est-ce je fais quelque chose de travers? Ou alors cette page est protégée pour ne pas être validée par une tiers application?

    J'avoue que je suis pas un spécialiste de l'html. J'ai essayé aussi de repérer le bouton dans le code source et de faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set SignInButton = LoginForm
    SignInButton.Click
    mais sans succès non plus. En fait, soit signbutton est égal à nothing, soit ça fait rien. Donc j'arrive pas à cibler correctement le bouton.

    Merci beaucoup

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub ie_open()
       With CreateObject("InternetExplorer.Application")
         .navigate "mon adresse"
         .Visible = True
         Do:  DoEvents: Loop while.readyState <> 4 or ie.busy 'on oubli souvent le busy le ready donne la main alors que la page se charge encore 
              With .document
            .all("login").Value = "XXXXX"
            .all("password").Value = "XXXXX"
            .all("XXXX").click
         End With
      ' en effet quand les éléments sont une balise form il se peut que ca soit difficile le mieux c'est d'utiliser le ".all"
    End With
    End Sub
    Au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 46
    Par défaut
    Rebonjour,

    Désolé pour le temps de réponse et merci pour la réponse.

    J'ai essayé la solution proposée mais sans résultat. J'ai essayé de tâtonner et de me renseigner sur le sujet. Ce qui est bizarre, c'est vraiment le submit qui fonctionne pas. Sur ma page, cela mets nom d'utilisateur et mot de passe inconnu. J'ai essayé de mettre une instruction wait pour être sûr que la page était bien chargée mais cela ne fonctionne pas non plus.

    Puis j'ai trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="cmd" value="login">
    J'ai essayé de clicker ce bouton mais rien ne se passe.

    Des idées?

    Merci encore

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 992
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 992
    Par défaut
    Salut

    Plutôt que de cliquer dessus essai plutôt de saisir ton loggin dedans. Il est possible que ce soit un composant intermédiaire placé la pour éviter les saisies automatique.
    Ainsi lors d'une saisie manuelle, par exemple sur l’événement "exit" du champs où l'utilisateur tape son login, la valeur du champs est transmise à ce champs caché.
    Lors d'une saisie automatique, le "exit" n'est pas déclenché et donc le login n'est pas transmis, donc si ensuite le code de validation login/MdP prend en compte le champs caché...
    Vérifie que la même démarche n'existe pas pour le MdP.

    Tout ça peut se vérifier en scrutant le code source mais il faut savoir où aller chercher, sans avoir accès à la page il est plus difficile de trouver les subtilités pour t'aider

    Tu peux aller faire un tour sur ce tutoriel qui pourra peut-être t'aider dans ta démarche globale.

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 46
    Par défaut
    Bonjour et merci de la réponse

    Merci également pour le lien, parfois je me demande pourquoi je vais chercher partout des réponses sauf dans les tutos de développez.com

    Ça m'a bien éclairé sur pas mal de choses.

    Pour ta question sur un transfert à une variable cachée, je n'ai rien identifié de tel dans le code. Par contre, je me suis rendu compte que le bouton se connecter avait une ID dynamique.

    Sinon, je comprends bien que c'est pas évident de m'aider sans la page en question mais premièrement, c'est pas un code que je peux partager (appli web intranet, pas sûr que ce soit le terme adéquat). Mais surtout, je préfère avoir des pistes à explorer dans un premier temps pour résoudre mon problème.

    Encore merci, je vais continuer de fouiller et je reviens vers vous en cas de blocage.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Février 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2015
    Messages : 46
    Par défaut
    Bon retour rapide finalement.

    Je n'avais pas vu que le mot de passe était "converti" en md5 avant le submit. Après conversion, tout fonctionne impec.

    Merci encore, le tutoriel m'a ouvert plein de possibilités intéressantes du coup.

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    <input type="hidden" name="cmd" value="login">
    c'est un peu comme la page Outlook ou il a 2 object dont 1 caché pour le login et le password

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with .document
    .all("cmd").value=monpseudo
    'idem pour le password 
    end with
    attention aussi a ce que la page web n'est pas un script anti robot au quel cas il te sera impossible de gérer ca par vba si ce n'est qu'avec des sendkey(solution bien contraignante et pas toujours sure )
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] connecter une page web de mon domaine a l'API Resident Advisor
    Par WilliamWiLD dans le forum ASP.NET
    Réponses: 1
    Dernier message: 06/07/2015, 09h26
  2. Comment savoir si on est connecté à une page web dans IE
    Par pierrotm777 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 30/01/2011, 13h43
  3. Créer une tentative de Connection a une page WEB
    Par parp1 dans le forum Réseau/Web
    Réponses: 6
    Dernier message: 10/03/2007, 13h44
  4. Confirmer une fermeture de session d'une page Web en VBA?
    Par pegase33 dans le forum Général VBA
    Réponses: 2
    Dernier message: 05/09/2006, 14h42
  5. application qui connecte sur une page web
    Par spoolz dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 14/04/2004, 09h47

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