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 :

Cliquer sur un bouton ie depuis code vba [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut Cliquer sur un bouton ie depuis code vba
    Bonjour,

    J essaye de cliquer sur un bouton sur une page IE depuis mon code vba mais je n'y arrive pas
    Je connais la procédure pour cliquer sur les boutons mais pour celui ci ça marche pas et je comprends pas pourquoi
    J essaye de cliquer sur le bouton AVEC L id: addacquisitionButton
    donc j ai fait ça comme code vba mais j ai erruer 91 erreur d execution ou variable de bloc with non defini:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     Set bouton = IEDoc.all("addAcquisitionButton")
        bouton.Click
    Voici le code source de la page
    Code html : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
      <div class="common-box blue-box" id="actionsPanel" style="z-index: 100;">
            <div id="actionContainer" class="button-container">
                <button class="button buttonAction" id="dashboardButton">
                    Retour à l'aperçu des demandes
                </button>
     
                      <button class="button buttonAction" id="addAcquisitionButton"> 
                         Ajouter acquisition/importation
                      </button>
     
     
                    <button class="button buttonAction" id="attachButton">
                        Attacher documents
                    </button>
                    <button class="button buttonAction" id="modifyButton">
                        Modifier détails demande
                    </button>
     
                <button class="button buttonAction" id="copyButton">
                    Copier demande
                </button>
     
     
     
                    <button class="button buttonAction" id="removeButton">
                        Supprimer demande
                    </button>
     
     
                    <button class="button buttonAction" id="exportPdfButton">
                        Exporter demande
                    </button>
     
     
                    <button class="button buttonAction" id="submitButton">
                        Vérifier et déposer demande
                    </button>
     
            </div>

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    Salut,

    mets un espion sur ta variable pour voir son contenu avant de cliquer dessus.

    J'imagine que tu as deja lu avidement le tuto de Qwazerty :
    http://qwazerty.developpez.com/tutor...a-excel/#LIV-D
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    oui j ai deja lu quelques parties qui m ont sservi à resoudre les problemes que j avais
    mais la je vois pas qu es ce qui marche pas
    et je comprends pas ce que tu vx dire par espion

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    J'AI essayé ce truc d espion mais ça n'a rien changé ça m'affiche rien

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut
    Bonjour !

    Citation Envoyé par hs.hs Voir le message
    Je connais la procédure pour cliquer sur les boutons
    La procédure ?‼
    Mais il n'existe pas de procédure unique car tout dépend déjà du code de la page Web !
    J'ai dû utiliser quatre méthodes différentes selon les pages rencontrées
    et je ne serais pas étonné si un jour je dois en utiliser une nouvelle …

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    oui justement
    Moi tous mes autres boutons j utilise le code qui me semble convenable mais ça reste les mêmes choses qui se répètent mais là je bloque

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour
    ceci : n'est pas forcement bon selon les pages web
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set bouton = IEDoc.all("addAcquisitionButton")
    en effet "addAcquisitionButton" est l'ID du bouton

    alors selon les pages le ".all" peut faire l'affaire mais dans d'autre non!!!

    je dirait donc que puisque tu veut ton bouton par son id demande le par son ID

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set bouton = IEDoc.getElementById("addAcquisitionButton")

    voila

    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

  9. #9
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    j'ai deja essayé et ça n a pas marché
    J epense que c est parce que le bouton se situe dans un div
    De toute façon Merci beaucoup

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Non car pas de souci avec une propriété Name ou Id

    Quand un ID n'est pas unique dans une page, all("ID") renvoie une collection des éléments de cet ID
    tandis que getElementByID peut très bien ne retourner que le premier élément !

    Après tout dépend où se trouve réellement l'élément recherché dans la structure de la page …

    Et entre temps j'ai trouvé une nouvelle méthode pour cliquer sur un bouton, au moins la cinquième!
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  11. #11
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    Code html : 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <div class="common-box blue-box" id="actionsPanel" style="z-index: 100;">
            <div id="actionContainer" class="button-container">
                <button class="button buttonAction" id="dashboardButton">
                    Retour à l'aperçu des demandes
                </button>
     
                      <button class="button buttonAction" id="addAcquisitionButton"> 
                         Ajouter acquisition/importation
                      </button>
     
     
                    <button class="button buttonAction" id="attachButton">
                        Attacher documents
                    </button>
                    <button class="button buttonAction" id="modifyButton">
                        Modifier détails demande
                    </button>
     
                <button class="button buttonAction" id="copyButton">
                    Copier demande
                </button>
     
     
     
                    <button class="button buttonAction" id="removeButton">
                        Supprimer demande
                    </button>
     
     
                    <button class="button buttonAction" id="exportPdfButton">
                        Exporter demande
                    </button>


    Je faisais getElementsById("addAcquisitionButton")et ça remplissait rien dans le bouton
    Merci de toute façon

  12. #12
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Ton extrait de code n'apporte aucun élément quant à sa position réelle dans la structure de la page …
    Excel comme IE ont un point commun : il faut juste respecter leur modèle objet !

    « et ça remplissait rien dans le bouton » : vraiment nébuleux car il n'y a rien à remplir dans un bouton !

    De toute manière, il suffit d'explorer la structure de la variable IEDoc pour trouver l'élément recherché
    ou encore utiliser l'outil d'inspection d'un navigateur …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  13. #13
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 61
    Points : 41
    Points
    41
    Par défaut
    ok merci

  14. #14
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Je faisais getElementsById("addAcquisitionButton")
    et ça remplissait rien dans le bouton
    heu.......
    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. Code qui permet à l'utilisateur de cliquer sur un bouton une seule fois
    Par FLORE2222 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 18/03/2012, 10h31
  2. [XL-2007] code vba pour cliquer sur un bouton dans internet explorer
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2011, 20h21
  3. [AC-2000] cliquer sur un bouton d'une autre appli par code
    Par noemieze dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/12/2009, 12h05
  4. Réponses: 2
    Dernier message: 07/06/2006, 09h29
  5. cliquer sur un bouton d'une application extérieure
    Par looc 6699 dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/12/2005, 17h46

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