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 :

Envoi par Sendkeys de données sur une page intranet en VBA sous Excel [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut Envoi par Sendkeys de données sur une page intranet en VBA sous Excel
    Bonjour,

    Je n'arrive pas à envoyer des données ou touches sur une page web par Sendkeys : existe-t-il un autre moyen ?
    Merci,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Déclaration des variables
    Dim IEdoc As HTMLDocument
    Dim IE As Object
    ' ouvrir la page
    Set IE = CreateObject("internetexplorer.application")
    IE.navigate "https://www.developpez.com/"
    IE.Visible = True
    WaitIE IE ' attendre le chargement
    Set IEdoc = IE.document
    Aucune des lignes ci-dessous ne fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ie.SendKeys "{Down}" ' bas de page
    ie.SendKeys "{F8}"      ' Touche F8
    IEdoc.SendKeys "{F8}"   ' Touche F8
    Application.IEdoc.SendKeys "{F8}", True   ' Touche F8
    IEdoc.SendKeys "^S" ' Ctrl + S
    ie.SendKeys "^S"    ' Ctrl + S

  2. #2
    Membre expérimenté
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 161
    Par défaut
    Salut,
    je crois que tu ne peux pas utiliser SendKeys directement sur IE il faut l'utiliser sur l'application Active. Pour mettre le focus sur I.E, l'astuce consiste à rajouter un IE.visible = True par exemple juste avant l'envoi de touche.
    Voici un code qui fonctionne chez moi avec Excel 2010 et IE 11 :
    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 TestEnvoiTouches()
    'Déclaration des variables
    Dim IEdoc As HTMLDocument
    Dim IE As Object
    ' ouvrir la page
    Set IE = CreateObject("internetexplorer.application")
    IE.navigate "https://www.developpez.com/"
    IE.Visible = True
    WaitIE IE ' attendre le chargement
    Set IEdoc = IE.document
    IE.Visible = True
    'Application.SendKeys "{PGDN 4}" ' 4 fois page down
    'Application.SendKeys "{F7}"
    Application.SendKeys "{END}"
    Application.SendKeys "^s"   '  CTRL S
    End Sub
    A Noter que Down ne descend que d'une ligne , c'est END qui envoie à la fin de la page.
    Les touches de contrôle doivent être en minuscule.
    Je ne sais pas ce que tu veux faire avec F8 ? chez moi avec IE 11 cela ne fait rien.

    Nullosse, le plus nul des apprentis programmeur

  3. #3
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    @Nullosse :

    Cela ne fonctionne pas chez moi, il ne se passe rien (j'ai Excel 2016 et IE11)

  4. #4
    Membre expérimenté
    Profil pro
    au repos
    Inscrit en
    Février 2013
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : Saint-Pierre-Et-Miq.

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2013
    Messages : 161
    Par défaut
    Comment lances-tu la macro ?
    moi je la lance à partir de la fenêtre de code VBA.
    Sinon tu peux essayer de remplacer le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IE.Visible = True
    Application.SendKeys "{END}"
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IE.Visible = False
    IE.Visible = True
    Application.SendKeys "{END}"
    Sinon il y a la solution seleniumbasic qui permettrait d'utiliser un navigateur autre que IE11 ( google chrome, firefox, edge chromium)

  5. #5
    Membre éclairé Avatar de fazpedro
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 506
    Par défaut
    Désolé Nullosse,
    en fait, je le faisais en pas à pas via la touche F8 et cela ne faisait rien
    par contre, quand je la lance via la touche F5 (Excéuter Sub...) cela fonctionne bien même sans le "IE.Visible = True"

    Encore merci !
    Bonne journée

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

Discussions similaires

  1. [XL-2016] Extraire des données d'une page intranet en VBA sous Excel
    Par fazpedro dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/04/2020, 14h16
  2. Envoi de donnée sur une page web en post
    Par sleeg dans le forum C#
    Réponses: 1
    Dernier message: 04/07/2013, 21h30
  3. Comment Enregistrer Une page WEB En VBA sous excel
    Par BEMI dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/05/2009, 23h15
  4. Extraire des données d'une page Web en VBA sous Excel
    Par BEMI dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/05/2009, 06h24
  5. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22

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