Bonjour Dévelopeurs,
Je cherche le moyen de pouvoir piloter le controle IE11 via mon userform (fichier excel) sans être obliger d'utiliser {TAB} pour choisir enregistrer sous et spécifier un dossier pour l'enregistrement automatiquement en VBA. J'ai lu plusieur réponse sur différent forum mais rien trouver pour m'aider !
Merci à l'avance.
Je suis rendu a cette étape ! (voir image)
Voici 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 'Déclaration pour Sleep #If VBA7 Then Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'For 64 Bit Systems #Else Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 32 Bit Systems #End If Sub WaitIE(IE As InternetExplorer) 'attente du chargement complet de l'élément Document de la page IE Do Until IE.readyState = READYSTATE_COMPLETE DoEvents Loop End Sub Sub WaitDoc(doc As HTMLDocument) 'attente du chargement complet de l'élément Document Do While Not doc.readyState = "complete" DoEvents Loop End Sub Public Sub PremierIE() Dim IE As New InternetExplorer Dim Lien As HTMLGenericElement Dim Coll_Liens As IHTMLElementCollection Dim IEDoc As HTMLDocument Set IE = CreateObject("InternetExplorer.Application") IE.Navigate "http://sttxsawh01/Reports/Pages/Report.aspx?ItemPath=%2fMuster%2fQuebec%2fPersonnel+sur+le+site+-+Personnel+Onsite" IE.Visible = True WaitIE IE 'Recherche bouton Excel Set IEDoc = IE.document WaitDoc IEDoc Set Coll_Liens = IEDoc.getElementsByTagName("a") 'Clic bouton Excel pour ouvrir dialog box de IE11 For Each Lien In Coll_Liens If Lien.innerText = "Excel" Then Sleep (10000) Lien.Click IE.Visible = True 'Partie que je ne veux plus et qui sera remplacé par code pour enregistrer sous 'Sleep (10000) 'Application.SendKeys ("{TAB}") ' Gives focus to Open Button 'Sleep (500) 'Application.SendKeys ("{TAB}") ' Gives focus to Save Button 'Sleep (500) 'Application.SendKeys ("{~}") ' Enter 'Sleep (10000) Exit For Else End If Next Set IE = Nothing Set IEDoc = Nothing IE.Quit MsgBox ("Transfert complété !") End Sub
Partager