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 :

[VBA] Message de confirmation IE -> Macro bloquée


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut [VBA] Message de confirmation IE -> Macro bloquée
    Bonjour à tous,

    Je tiens tout d'abord à m'excuser d'avance pour les fautes d'orthographes :S

    J'aurais besoin de votre aide car cela fait depuis un bon moment que je suis bloqué.

    J'ai une macro excel en VBA qui va sur ie et va modifier un champs sur un site en intranet. Tout cela fonctionne correctement, cependant lorsque la macro clique sur "Save" il y a un message de confirmation qui apparait. Ce message la empêche la macro de continuer tant que je ne valide ou annule pas manuellement.

    Je voulais savoir s'il y avait une solution pour pouvoir prendre la main sur cette fenêtre de confirmation pour pouvoir la valider a l'aide de la macro svp ?

    J'ai déjà essayer la fonction "Application.sendkeys" mais rien y fait ...

    Merci d'avance de votre aide.

  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
    re
    bonsoir
    si une boite type message apparait don fenêtre non IE alors sendkey par un wscript.sell(object)
    attention pas !!!! par application.sendkey qui elle n'agit que sur excel
    surement aussi une gestion d'attente de cette fenêtre type message
    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
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut VBA
    Bonjour Patricktoulon,

    Merci pour ta reponse, c'est un message de confirmation ou je dois cliquer sur OK ou ANNULER. Pourrez tu m'expliquer stp comment je devrais coder en passant par le script ?

    Merci encore

  4. #4
    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
    après ta ligne de code qui clik sur le bouton save tu met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Application.Wait (Now + TimeValue("0:00:01"))
    With CreateObject("WScript.Shell"): .SendKeys "{enter}": End With
    augmente éventuellement a 2 ou 3 secondes dans le wait
    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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut
    D'accord merci beaucoup Patricktoulon

    Je vais essayer cela ce soir et je te ferai un retour.

    Bonne journée

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut VBA
    Bonsoir Patricktoulon,

    J'ai essayé ton code en le mettant après l'action du clique mais cela ne marche pas car la macro s'arrete et ne va pas plus loin tant que je n'aurais valider manuellement le message de confirmation

  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
    re
    et oui suis-je bête
    en effet
    il va te falloir lancer script shell avant le clik et mettre a l'intérieur un sleep et le sendkey
    j'ai pas le code je ne peut t'en dire plus
    peut être aussi dans un vbs dynamique et donc externe a l'App Excel
    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

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut vba
    Bonjour Patricktoulon,

    Dois je procéder comme ceci stp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Application.Wait (Now + TimeValue("0:00:01"))
    With CreateObject("WScript.Shell"): .SendKeys "{enter}": End With
    Sleep 2000
     
    'Clique sur le bouton "Save"
    IEDoc.all("SAVE_BTN").click
    Je n'ai pas très bien compris, je suis désolé je ne suis pas très à l'aise encore avec le VBA

  9. #9
    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
    non le sleep doit être dans le with mais pr le wscript.
    il serait plus facile de gèrer cela en vbs externe
    mais il me faut le code pour tester
    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

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut vba
    La macro agit sur un outil en interne donc je ne sais pas cela va fonctionner pour toi mais je te le passe tout de même le voici :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    'Déclaration des variables
        Dim IE As New InternetExplorerMedium
        Dim IEDoc As HTMLDocument
        Dim Element As HTMLInputElement
     
        Dim ec As MSHTML.IHTMLElementCollection
        Dim e As MSHTML.IHTMLElement
        Dim HtmlElementStandard As HTMLGenericElement
        Dim htmlTabElement() As IHTMLElement
     
        Dim core
        Dim browser
     
        Set core = CreateObject("OpenTwebst.Core")
        Set browser = core.StartBrowser("http://sesam.sso.infra.ftgroup/LoginDispatch")
     
        'Ouverture de la page "mytools" pour se logguer
        IE.navigate "http://mytools.sso.infra.ftgroup/binbeemytools/Home/Portfolio"
     
        'fermeture de la fenêtre "mytools"
        IE.Quit
     
    For i = 7 To 8
     
        Call browser.FindElement("a", "uiname=SIO").Click
        Call browser.FindElement("input text", "id=ORDER_REFERENCE").InputText(Range("A" & i).Value)
        Call browser.FindElement("input button", "id=SEARCH, index=1").Click
        Call browser.FindElement("a", "uiname=Create Alert").Click
        Call browser.FindElement("select", "id=ALERT_TYPE").Select(Sheets("RTDD").Range("G" & i).Value)
     
        Call browser.FindElement("select", "id=SUBJECT").Select(Sheets("RTDD").Range("I" & i).Value)
     
        Call browser.FindElement("select", "id=CONFIDENCE_LEVEL").Select(Sheets("RTDD").Range("K" & i).Value)
     
     
        Call browser.FindElement("input text", "name=PROPOSED_RTDD").InputText("17-Jan-2017")
     
     
        Call browser.FindElement("textarea", "name=ORIGINATOR_COMMENTS").InputText(Range("J" & i).Value)
     
        '----- bouton "save and send alert" -------
        Call browser.FindElement("input button", "id=SEND_ALERT_BTN, index=1").Click
     
        '-----------Apres cela le message de confirmation "OK" ou "ANNULER" apparait-----------
     
    Next

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut VBA
    Bonjour,

    Quelqu'un aurait il une solution svp ? Cela m'aiderai énormément

    Merci

  12. #12
    Expert éminent
    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
    Par défaut
    Bonjour, bonjour !

    Il faut déclencher le SendKeys pas trop tôt question de synchronisation !

    Vu que l'on ne peut accéder au site, voir les solutions dans les discussions de ce forum
    et de celui Contribuez entre autres … (rechercher ("WScript.Shell").SendKeys, UI Automation, …)

    Et souvent le mieux est de ne pas piloter un navigateur mais de juste reproduire ses requêtes.

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  13. #13
    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
    de toute façon avec InternetExplorerMedium et les protocoles récents dans les pages web je te souhaite beaucoup de courage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim IE as object
    set IE=createobject("internetexplorer.application")
    si tant est que ton service informatique de ta boite ne t'ai pas tronquer l'utilisation de IE

    a ce moment la perso je fou l'idée a la poubelle j'ai assez de cheveux blancs
    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

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 8
    Par défaut
    Bonjour Patricktoulon et Marc-L,

    Merci d'avoir pris le temps de me repondre.

    Malheureusement je suis toujours bloqué

    Des lors que le message de confirmation apparait sur IE la macro s'arrête. Concernant le vbs externe je n'ai aucune base dessus du coup je ne sais pas trop comment faire :/

    Désolé de poser beaucoup de question je debute tout juste

  15. #15
    Expert éminent
    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
    Par défaut

    Il te reste alors à voir les exemples dans les discussions des forums,
    à lire la documentation de UI Automation sur MSDN
    ou comme le VBA n'est pas le plus efficace des outils pour ce genre de besoin,
    en effectuant une recherche sérieuse sur le Net tu en trouveras d'autres …

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2008, 11h27
  2. Excel VBA > Message d'erreur " Macro desactivés "
    Par alec-- dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 14/06/2007, 13h58
  3. [VBA]Message de confirmation docmd.runsql
    Par willytito dans le forum VBA Access
    Réponses: 18
    Dernier message: 23/05/2007, 15h48
  4. [VBA-E] élimination de message de confirmation
    Par potili2 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2007, 16h30
  5. Réponses: 3
    Dernier message: 06/06/2006, 18h04

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