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.
Aidez moi s'il vous plait :'(
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
Merci d'avance pour toutes réponse
Partager