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