1 pièce(s) jointe(s)
Controle EI11 "Voulez-vous ouvrir ou enregistrer * à partir de *" en VBA
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)
Pièce jointe 215631
Voici mon code :
Code:
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 |