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 :

Intéraction avec Internet Explorer [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut Intéraction avec Internet Explorer
    Bonjour,
    Je travaille chez Renault et je dois mettre au point une macro qui fait en sorte que quand je clique sur un bouton, ça envoie l'utilisateur sur Internet Explorer, qui va sur l'intranet sur un site spécial (jusque là tout est ok) et après la macro qui est executée doit écrire sans que l'utilisateur ait à le faire une information précise et à un endroit précis.

    J'ai réussis à envoyé l'utilisateur sur la page de l'intranet, mais je n'arrive pas à écrire dans une case précise !

    Quelqu'un pourrait m'éclaircir s'il vous plaît ?

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Private Sub CommandButton1_Click()
     
    Dim IE As New InternetExplorer
    Dim IEDoc As HTMLDocument
    Dim InputGoogleZoneTexte As HTMLInputElement
    Dim InputGoogleBouton As HTMLInputElement
     
        IE.Navigate "http://s0517aos.ecm.rncd.noxiane.net:8080/Reports_QBI_SSRS_OPE/Pages/Report.aspx?ItemPath=%2fReportsIVIZ%2fGMF+World"
    IE.Visible = True
     
    Do While IE.readyState <> READYSTATE_COMPLETE
     DoEvents
    Loop
     
     Set IEDoc = IE.document
     
    Set InputGoogleZoneTexte = IEDoc.all("ctl31$ctl04$ctl23$txtValue")
     
     InputGoogleZoneTexte.Value = "GSFA-V13-Habillage Intérieur"
    SendKeys "{ENTER}"
     
     
    Set IE = Nothing
    Set IEDoc = Nothing
     
    End Sub

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut


    bienvenue sur DVP !

    Tu peux trouver toute une documentation sur les intéractions VBA/IE avec l'excellent article de Qwazerty :
    http://qwazerty.developpez.com/tutor...-et-vba-excel/
    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 :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    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
    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,

    des exemples dans cette discussion en cours

    __________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  4. #4
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut
    Merci pour vos réponses.
    Cependant, j'ai déjà lu ces deux discussions, et c'est grâce au tuto de qwazerty que j'en suis où j'en suis, seulement je n'ai pas très bien compris les parties Html..

    Comme vous pouvez le voir dans mon code, j'ai remplacé le "q" qui ciblait la zone de recherche Google par la zone qui m'intéresse ("ctl31$ctl04$ctl23$txtValue").

    Normalement, ça devrait écrire dans cette zone "v14 habillage extérieur" mais ça ne le fait pas et je ne sais pas pourquoi... La page de l'intranet met du temps à charger mais je ne pense pas que ce soit ça parce que j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Do While IE.readyState <> READYSTATE_COMPLETE
     DoEvents
    Loop
    J'ai mis ça juste avant de cibler le document donc je ne comprends pas pourquoi ça n'écrit pas

  5. #5
    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




    Astuce : insérer juste après la boucle d'attente du chargement initial de la page l'instruction Beep :
    si le son survient avant la fin du chargement, la boucle est à revoir …

    Vérifier aussi la valeur de READYSTATE_COMPLETE, sinon voir aussi mon exemple dans le lien cité.

  6. #6
    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



    Citation Envoyé par Marc-L Voir le message
    Vérifier aussi la valeur de READYSTATE_COMPLETE, sinon voir aussi mon exemple dans le lien cité.

  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 heu
    Bonjour

    primo je préfère les déclarations tardives surtout pour l'object IE dans le cas contraire activer les références html control et librairie

    2 est tu sur des noms des control texte dans le quel tu écrit ?????c'est pas plutôt son id ou classe

    3 tu déclare un bouton et tu t'en sert pas

    4 le send key n''est pas forcement valide dans ce cas !!!

    effectivement pour que ca fonctionne il faudrait que le tex box sur ta page ai le FOCUS!!!!

    5 puisque tu déclare un bouton sert toi en de la même manière que le texte box

    exemple de structure de 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    Dim IE As Object
    Dim IEDoc As Object
    Dim Inputtext As Object
    Dim monbouton As Object
     
     Set IE = CreateObject("internetexplorer.application")
        IE.Navigate "http://s0517aos.ecm.rncd.noxiane.net:8080/Reports_QBI_SSRS_OPE/Pages/Report.aspx?ItemPath=%2fReportsIVIZ%2fGMF+World"
    IE.Visible = True
     
    Do While IE.readyState <> READYSTATE_COMPLETE: DoEvents: Loop
     
     Set IEDoc = IE.document
     ' on determine le texte box sur ta page intranet qui doit recevoir les données
    Set Inputtext = IEDoc.all("ctl31$ctl04$ctl23$txtValue")
     Inputtext.innertext = "GSFA-V13-Habillage Intérieur"
    '****************************************************************************************************************************
    'le send key ne peut pas fonctionner comme ca il faut que le textbox ai le focus a n'est pas le cas obligatoirement
    'meme si tu vien d'y inscrire des données
     'SendKeys "{ENTER}"
    '****************************************************************************************************************************
    'ensuite tu a declaré un bouton  e suppose que c'est pour valider la donnée donc !!!
    Set monbouton = IEDoc.all("nom du bouton ici!!!!")
    monbouton.Click
    Set IE = Nothing
    Set IEDoc = Nothing
     
    End Sub
    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
    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




    Patrick, il me semble bien dans ta ligne n°10, vu que tu es en déclaration tardive,
    READYSTATE_COMPLETE n'étant pas défini, il vaut zéro !

    D'où la question et le conseil de mon précédent post …

  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
    re

    oupss!!!

    comme quoi le copier coller hein!!!!


    je n'utilise pas la boucle de cette facon normalement

    moi j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Do : DoEvents: Loop until IE.readyState =4
    10 coup de fouet pour moi
    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
    Membre confirmé Avatar de backx3
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2014
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Octobre 2014
    Messages : 173
    Par défaut
    J'ai enlevé le bouton qui ne servait à rien, j'ai donc refait mon code comme tu l'a écrit, cela me donne donc ce 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Private Sub CommandButton1_Click()
    Dim IE As Object
    Dim IEDoc As Object
    Dim Inputtext As Object
     
     
     Set IE = CreateObject("internetexplorer.application")
     
    'Chargement d'une page Web Google
    IE.navigate "http://s0517aos.ecm.rncd.noxiane.net:8080/Reports_QBI_SSRS_OPE/Pages/Report.aspx?ItemPath=%2fReportsIVIZ%2fGMF+World"
    'Affichage de la fenêtre IE
    IE.Visible = True
     
     
     
    Do While IE.readyState <> READYSTATE_COMPLETE: DoEvents: Loop
     
     
     'On pointe le membre Document
     Set IEDoc = IE.document
     
     'On pointe notre Zone de texte
    Set Inputtext.innerText = "GSFA-V13"
     
    'On définit le texte que l'on souhaite placer à l'intérieur
     'InputGoogleZoneTexte.Value = "GSFA-V13-Habillage Extérieur"
    'SendKeys "{ENTER}"
     
     
    'On libère les variables
    Set IE = Nothing
    Set IEDoc = Nothing
    End Sub
    Mais ça ne fonctionne toujours pas, quand j'execute le code, ça m'envoie sur la page, et avec une embêtante petite fenêtre en arrière plan

    Quand je l'execute en pas à pas, cette fenêtre appraît juste après la ligne "IE.Visible = True"


    Mark je ne vois pas comment utiliser le Beep, les exemples dans l'aide ne sont pas très très claires :S

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

Discussions similaires

  1. [HTML] Tableau problème de formatage avec internet Explorer
    Par rabobsky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2005, 09h50
  2. Forcer une page à s'ouvrir avec Internet Explorer
    Par alexbubs dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 31/10/2005, 10h32
  3. Truc mystique avec internet explorer
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/08/2005, 12h25
  4. Pb avec Internet explorer
    Par wareq dans le forum IE
    Réponses: 31
    Dernier message: 28/04/2005, 17h33
  5. [W3C] pb avec Internet Explorer
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/03/2005, 15h02

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