Actualisation de page IE

dantongu

XLDnaute Nouveau
Bonjour,
J'ai une macro qui actualise une page internet explorer. Je souhaiterai insérer dans cette macro une temporisation qui attende la fin de l'actualisation de la page internet avant de lancer d'autres instructions. Est-ce possible? Mes connaissances sont trop limitées pour réussir ce type d'action.
D'avance merci.
 

MichelXld

XLDnaute Barbatruc
Re : Actualisation de page IE

bonjour

difficile de répondre sans voir la methode que tu utilises actuellement
une premiere possibilité

Code:
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop

si ta page est affichée dans un WrbBrowser tu pourrais aussi utiliser l'evenement DocumentComplete


bon apres midi
MichelXld
 

dantongu

XLDnaute Nouveau
Re : Actualisation de page IE

Bonjour le forum, bonjour Michel
Je ne sais pas comment définir IE. j'ai essayé Dim IE As InternetExplorer mais j'obtiens le message d'erreur suivant : variable objet ou variable de bloc With non définie.
Merci de votre aide.
 

dantongu

XLDnaute Nouveau
Re : Actualisation de page IE

En fait, vu mon niveau, je n'ai trouvé d'autre solution que de positionner la souris sur le bouton actualiser et de cliquer (code récupéré chez quelqu'un d'autre et adapté pour mon cas).
Code:
Declare Sub mouse_event Lib "User32" (ByVal dwFlags As Long, _
        ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, _
        ByVal dwExtraInfo As Long)
Declare Function SetCursorPos Lib "User32" (ByVal X As Long, ByVal Y As Long) As Long
Global Const MOUSEEVENTF_LEFTDOWN = &H2
Global Const MOUSEEVENTF_LEFTUP = &H4
Global Const MOUSEEVENTF_RIGHTDOWN = &H8
Global Const MOUSEEVENTF_RIGHTUP = &H10
Sub Macro1()
SendKeys "%{TAB}", True
Call SetCursorPos(743, 540)
Call mouse_event(MOUSEEVENTF_LEFTDOWN, 743, 540, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, 743, 540, 0, 0)
End Sub
 

MichelXld

XLDnaute Barbatruc
Re : Actualisation de page IE

rebonjour

j'espere que cet exemple pourra t'aider

Necessite d'activer la reference Microsoft Internet Controls
dans l'editeur de macro
Menu Outils
References
Coche la ligne "Microsoft Internet Controls"
clique sur OK pour valider


Code:
Sub rafraichirPageWeb()
    Dim IE As internetExplorer
 
    Set IE = CreateObject("internetExplorer.Application")
    IE.Visible = True
 
    IE.navigate "[URL="http://www.mappy.fr"]h[/URL]ttp://laPageHtml.html"
    Do Until IE.readyState = READYSTATE_COMPLETE
        DoEvents
    Loop
 
    IE.ExecWB OLECMDID_REFRESH, OLECMDEXECOPT_DONTPROMPTUSER
End Sub


tu trouveras d'autres exemples pour piloter une page html et IE dans ce lien

https://www.excel-downloads.com/threads/ref-wiki-page-7-de-michelxld.92375/


bonne journée
MichelXld
 

dantongu

XLDnaute Nouveau
Re : Actualisation de page IE

Je vais essayer de m'en inspirer mais a première vue, cette macro va ouvrir une nouvelle page Internet (CreateObject) avec l'adresse indiquée (.navigate).
Or ma page est déjà ouverte et c'est là que je bloque.
J'avais déjà visité ta page wiki qui est une source d'inspiration infinie pour un débutant tel que moi.
Cordialement
 

MichelXld

XLDnaute Barbatruc
Re : Actualisation de page IE

rebonjour

merci pour ton message

justement, dans la page 7 il y a un exemple pour boucler sur les pages ouvertes, il suffit juste de l'adapter


Code:
Sub listerFenetres_IE_Ouvertes()
'activer la référence "Microsoft Internet Controls"
Dim IE As internetExplorer
Dim winShell As New shellWindows
 
On Error Resume Next
For Each IE In winShell
    If IE.LocationURL = "[URL]https://www.excel-downloads.com/[/URL]" Then
        
        '-------
        IE.ExecWB OLECMDID_REFRESH, OLECMDEXECOPT_DONTPROMPTUSER
        Exit For
        '-------
    End If
Next IE
Set winShell = Nothing
End Sub


bonne journée
MichelXld
 

Discussions similaires

Réponses
8
Affichages
682

Statistiques des forums

Discussions
312 571
Messages
2 089 808
Membres
104 277
dernier inscrit
akdeche