Bonjour,
Je souhaite automatise une tache répétitive via une macro en VBA. Mon souci est que je n’arrive pas à renseigner le champ qu’il faut sur la page web. C’est une page SSRS. Si quelqu’un peut me donner des pistes je suis preneur.
Le code de ma macro :
Option Explicit
Public Sub Navigateur()
Dim oNav As InternetExplorerMedium
Dim oDoc As HTMLDocument
Dim objCollection As Object
Set oNav = New InternetExplorerMedium
oNav.Visible = True
oNav.navigate "http://xxxxxxxxxxxxxxxx"
' Attente avec timeout de 10 s
If WaitIE(oNav, 10) Then
' 10 s écoulées et page non chargée
MsgBox "Time out!"
Else
' Page chargée, on continue
Set oDoc = oNav.document
Set objCollection = oDoc.getElementsById("ReportViewerControl_ctl04_ctl03_txtValue")
objCollection.Value = "400056958"
End If
End Sub
Public Function WaitIE(oNav As InternetExplorerMedium, Optional pTimeOut As Long = 0) As Boolean
Dim lTimer As Double
lTimer = Timer
Do
DoEvents
If oNav.readyState = READYSTATE_COMPLETE And Not oNav.Busy Then Exit Do
If pTimeOut > 0 And Timer - lTimer > pTimeOut Then
WaitIE = True
Exit Do
End If
Loop
End Function
le code HTML en fichier joint
Merci à vous.