Arrêter une macro si la barre de progression est complète

alias_2003

XLDnaute Occasionnel
Bonjour à tous,
J'ai une macro qui me permet de faire une recherche sur internet.
L'exécution du code est +/- long selon la connexion et je pensais ajouter à mon userform une barre de progression.
En recherchant sur le forum, j'ai vu des tas d'exemples, mais j'ai une question : dans mon cas, la recherche sur internet peut ne pas aboutir (le site met trop longtemps à répondre...) et j'aurais voulu savoir s'il était possible que la macro de recherche soit abandonnée si elle ne s'est pas terminée avant la fin de la barre de progression ??
Merci de vos lumières,
Bonne journée,
Amicalement
 

Misange

XLDnaute Barbatruc
Re : Arrêter une macro si la barre de progression est complète

Bonjour,

une barre de progression parait peu adaptée dans ton cas je trouve : normalement, une barre de progression est liée à une macro qui traite des données dans un classeur excel, macro dont on peut quantifier le degré d'avancement. Par exemple, % de lignes traitées, temps écoulé ou autre. Dans ton cas tu ne connais pas à l'avance le temps de chargement de la page vu qu'il est extérieur à ta macro. Un sablier me paraitrait plus indiqué. ou alors une barre indiquant le temps écoulé depuis que tu as lancé la recherche.
tu trouveras des exemples de sabliers et de différentes barres de progression ici
Ce lien n'existe plus
 

alias_2003

XLDnaute Occasionnel
Re : Arrêter une macro si la barre de progression est complète

Bonjour Misange,
Merci beaucoup de tes conseils ! Je vais donc opter pour le sablier (merci pour le lien) !
J'ai encore une question : sais-tu comment puis-je abandonner l’exécution de la macro de recherche sur le net lorsque la page internet met trop de temps à se charger ?
Merci encore,
Bonne journée
 

Misange

XLDnaute Barbatruc
Re : Arrêter une macro si la barre de progression est complète

Bonjour

Regarde du côté de la méthode ontime
Ce lien n'existe plus
tu définis que quand un temps t (que tu définis toi même) s'est écoulé, tu sors de la macro.
 

alias_2003

XLDnaute Occasionnel
Re : Arrêter une macro si la barre de progression est complète

Merci Misange,
Voici ce que j'ai écrit :
Code:
Début du code
IE.navigate ("http://www.test.com")
Do Until IE.readyState = 4
DoEvents
Loop
Application.OnTime Now + TimeValue("00:00:40"), "Eteindre"
Set IEdoc = IE.document
Set DOCelement = IEdoc.getElementById("Name")
DOCelement.Value = Textbox6.value
Set DOCelement = IEdoc.all("Search")
DOCelement.Click
...

'Là je récupère un tableau affiché sur la page après la recherche
'La macro plante si la page met trop longtemps à se charger
On Error GoTo ErrorHandler
...
 Exit Sub 

ErrorHandler:
MsgBox "Le serveur met trop de temps à répondre ! Veuillez recommencer plus tard..."
Unload UserForm4
End Sub

et dans un module
Code:
Sub Eteindre()
SendKeys "^{Break}", 1
MsgBox "Le serveur met trop de temps à répondre !"
Unload UserForm4
End Sub

Qu'en penses-tu ?
Merci beaucoup de ton aide !
 

Discussions similaires

Statistiques des forums

Discussions
312 234
Messages
2 086 475
Membres
103 226
dernier inscrit
smail12