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 :

Problème Internet Exploreur Macro VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2017
    Messages : 2
    Par défaut Problème Internet Exploreur Macro VBA
    Bonjour a tous,

    Je viens vous demander de l'aide aujourd'hui après une longue période de recherche où je n'ai pas pu trouver de solution a mon problème.

    Je vous explique, en plus d'autre fonction ma macro doit ouvrir internet explorer afin d'ouvrir un pdf puis j'envoie via un SendKey un ctrl A, ctrl c puis je ferme le navigateur et colle dans Excel tout le contenu.

    Seul problème lorsque Ie ce lance, il se lance en arrière-plan et j'envoie donc mes SendKey à la mauvaise fenêtre. Ce qui est le plus bizarre, c'est que quand j'effectue cette macro en debug tout marche pour le mieux et quand je ferme le fichier et je relance, ça me remet Ie en arrière plan et je dois soit cliquer sur la fenêtre pour qu'il garde le focus, soit allez dans l'onglet développeur cliqué sur visual basic fermer(seulement la fenetre visual basique) puis relancé ma macro pour que l'ie apparaisse au premier plan.

    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
     
               Dim lvWebBrowser As InternetExplorer
                Set lvWebBrowser = CreateObject("InternetExplorer.Application")
                While lvWebBrowser.Busy
                    DoEvents
                Wend
                lvWebBrowser.Visible = True
     
                'Open PDF file into ie
                lvWebBrowser.navigate lvBaseDriveAndDirectory$ & "\" & lvPDFfileToScan$ 'chemin + nom de fichier pdf
                lvWebBrowser.Visible = True
                lvWebBrowser.Activate = True
     
                'Select all PDF and Copy content in clipboard
                Application.Wait (Now + TimeValue("00:00:03"))
                SendKeys "^a", True
                Application.Wait (Now + TimeValue("00:00:02"))
                SendKeys "^c", True
                'Send key to close ie windows
                Application.Wait (Now + TimeValue("00:00:02"))
                SendKeys "%{F4}", True
    Aidez moi s'il vous plait :'(

    Merci d'avance pour toutes réponse

  2. #2
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Par défaut
    bonjour,
    dans ce lien : Méthode Application.SendKeys (Excel)

    Application.SendKeys("%fx")

    peut être :
    lvWebBrowser.SendKeys ("^a")

    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM

  3. #3
    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
    bonsoir je n'avais jamais penser a le faire comme ca
    bref pour copier tout et fermer ca fonctionne chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
        Dim IE As Object
        Set IE = CreateObject("InternetExplorer.Application")
        While IE.Busy: DoEvents: Wend
        IE.Visible = True
        IE.navigate "C:\Users\polux\Desktop\EXEMPLE.pdf"    'chemin + nom de fichier pdf
        IE.Visible = True
        Application.Wait (Now + TimeValue("00:00:02"))
        SendKeys "^a", True
        SendKeys "^c", True
        SendKeys "%{F4}", True
    End Sub
    cela dit tu peux faire exactement la même chose en ouvrant ton pdf avec ton reader installé

    il y a effectivement certaines installation ou le sendkey tape dans les choux
    dans ce cas utiliser un object wscriptshell qui s'occupera des sendkeys
    je te suggère aussi de regarder les contribS de KIKI29
    EN TOUT CAS JE L'AVAIS JAMAIS VU CELLE LA CA VA PLAIRE A KIKI
    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

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132

  5. #5
    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
    oui kiki absolument

    il serait intéressant tout de même de tester la performance avec la même méthode appliqué sur le reader
    chez moi c'est sans équivoque IE est plus performant
    D'AUTANT PLUS QUI N'EST PAS NECESSAIRE DE TROUVER LE CHEMIN DU READER PUISQUE UTILISATION DE SON PLUGINS IE
    ce que toute installation confondu d'application gratuite pdf fait

    intéressant
    TESTE LA VERSION READER x ET CELLE LA et donne moi le retour sur la performance SVP
    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
    Sub test()
        Dim IE As Object
        Set IE = CreateObject("InternetExplorer.Application")
        With IE
            While .Busy: DoEvents: Wend
            .Visible = True
            IE.navigate "c\.........exemple.pdf"    'chemin + nom de fichier pdf
        End With
        Application.Wait (Now + TimeValue("00:00:02"))
        With CreateObject("WScript.Shell")
            .SendKeys "^a", True
            .SendKeys "^c", True
            Application.Wait (Now + TimeValue("00:00:01"))
            .SendKeys "%{F4}", True
        End With
        With ActiveSheet: .Cells(1, 1).Select: .Paste: End With
    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

  6. #6
    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
    perso j'utilise le xpdf to text (clip ou pas clip)
    mais je vois du potentiel dans cette méthode

    je me suis dis avec xpdf je peut récupérer le texte dans une variable string

    serait-ce possible avec la méthode sendkey dans IE ou même le Reader

    et cela bien entendu sans triturer l'api clipboard
    j'en suis donc revenu a mes premiers amour

    et oui ce qui me connaissent ont bien compris que je parle de l'object("htmlfile") 'HTMLDOCUMENT
    conclusion
    oui sans api window et autre exe on peu copier un pdf to text dans une variable string

    démonstration

    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
    Sub test()
        Dim IE As Object, T
        Set IE = CreateObject("InternetExplorer.Application")
        With IE
            While .Busy: DoEvents: Wend
            .Visible = True
            IE.navigate "C:\Users\polux\Desktop\exemple.pdf"    'chemin + nom de fichier pdf
        End With
        Application.Wait (Now + TimeValue("00:00:02"))    'pause
        With CreateObject("WScript.Shell")    'creation wsshell dynamique late binding
            .SendKeys "^a", True    'selectionne tout
            .SendKeys "^c", True    'copy
            Application.Wait (Now + TimeValue("00:00:01"))    'pause
            .SendKeys "%{F4}", True    'ferme la fenetre
            '----------------------------------------------------------------------------------------
            'récupération du text dans le presse papier dans la variable T
            With CreateObject("htmlfile"): T = .parentwindow.clipboardData.GetData("TEXT"): End With
            '----------------------------------------------------------------------------------------
        End With
        'maintenant on a le choix
        'collage dans le sheet de ce qu'il y a dans le presse papier
        With ActiveSheet: .Cells(1, 1).Select: .Paste: End With
        'OU
        'utilisation de la variable T exemple :affichage du text de  la  variable T
        MsgBox T
    End Sub
    @proposition a kiki29
    que penserais tu d'agrémenter ta version avec le reader de cette possibilité?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            '----------------------------------------------------------------------------------------
           Dim T
            'récupération du text dans le presse papier dans la variable T
            With CreateObject("htmlfile"): T = .parentwindow.clipboardData.GetData("TEXT"): End With
            '----------------------------------------------------------------------------------------
    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. [XL-2016] Problème de compatibilité - Macros VBA avec Excel 2016
    Par heraults dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/02/2020, 10h42
  2. [XL-2007] Problème de Shadok - Macro VBA ne fonctionnant pas sur Office 2007 Windows 7
    Par Shadok_75 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/02/2015, 18h56
  3. [XL-2003] problème avec les macros vba
    Par jess59 dans le forum Excel
    Réponses: 6
    Dernier message: 27/05/2009, 13h28
  4. Probléme de compatibilté macro vba excel 2007 vers 2002
    Par cedric59dk dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/03/2008, 10h55
  5. [VBA-E] Problème de tableau dans macro VBA
    Par Chouls dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/06/2006, 15h20

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