Creer temp d'arret de la macro pendant les récupérations des donnés sur internet

  • Initiateur de la discussion Initiateur de la discussion Sandra75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Sandra75

XLDnaute Occasionnel
Bonsoir à tous
je rencontre un gros problème pendant l'actualisation des données de mon fichier excel, en effet, la macro vas tellement vite que ma page n'a pas le temp de naviguer sur internet pour récupérer des donnés.

Savez-vous si c'est possible de d'intégrer dans la macro pendant mon refresh d'attendre 5 sec pour ensuite fermer ?

la fin de ma macro se termine comme ça :

ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
ActiveWindow.Close

Il faudrait donc entre refresh et save, il puisse avoir du temp (5 sec)

Merci
 
Re : Creer temp d'arret de la macro pendant les récupérations des donnés sur internet

Bonjour à tous,

Extrait de l'aide VBE :

Cet exemple montre comment suspendre l'exécution d'une macro pendant environ 10 secondes.

Code:
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 10
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime


A + à tous
 
Re : Creer temp d'arret de la macro pendant les récupérations des donnés sur internet

Merci pour la réponse
j'ai testé ton script dans la macro mais malheureusement il stop l'actualisation internet, donc ça ne fonctionne pas au final, mais sinon oui il lance un temp d'arrêt mais qui ne sert pas. 🙁
 
Re : Creer temp d'arret de la macro pendant les récupérations des donnés sur internet

Non en faite le soucis c'est que la case que j'ai coché via "a partir du web" sur excel se déplace toute seule ça viens de la le soucis
 
Dernière édition:
Re : Creer temp d'arret de la macro pendant les récupérations des donnés sur internet

Bonsoir, salut Jean-Claude,
il te faut déclarer puis instancier l'objet navigateur
Code:
Dim IE As InternetExplorer
Set IE = New InternetExplorer
puis placer ce code aux endroits où la page Internet doit charger d'autres données :
Code:
While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
    DoEvents
Wend
donc :
Code:
   Dim IE As InternetExplorer

   Set IE = New InternetExplorer

   'Chargement d'une page Web
   IE.navigate "http://www.xxxxxxx/"

   'Affichage de la fenêtre IE
   IE.Visible = True

   'On attend le chargement complet de la page
   While IE.readyState <> READYSTATE_COMPLETE Or IE.Busy = True
    DoEvents
Wend
'le reste de ton code
Ne pas oublier de charger les bibliothèques dont tu as besoin (Microsoft Internet Controls et si tu veux travailler sur le code source de la feuille Microsoft HTML object library).
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour