VBA activeWorkbook.refreshall puis lancer la macro suivante [Résolu/Fermé]

Goth!er 10 Messages postés jeudi 10 novembre 2016Date d'inscription 30 novembre 2017 Dernière intervention - 22 nov. 2016 à 11:43 - Dernière réponse : Goth!er 10 Messages postés jeudi 10 novembre 2016Date d'inscription 30 novembre 2017 Dernière intervention
- 23 nov. 2016 à 13:49
Bonjour tout le monde,

Je souhaiterai via un bouton appeler plusieur macros.
Jusque là pas de soucis.
si ce n'est qu'une de mes macro est en fait une mise à jour des données web.

ActiveWorkbook.Refreshall

Je souhaiterai que les macros se lance dans une séquence précise .
Sub callmaj()
Call Miseajour
Call retourinitial
Call messauver
End sub


dans le cas précis , Call Miseajour =ActiveWorkbook.Refreshall

l'appel de retourinitial n'attend pas la fin de la mise a jour pour se lancer, hors l'application de cette macro n'a de sens précisement qu'après la mise à jour.

messauver est juste une msgbox informant que la mise a jour est ok et proposant la sauvegarde (comme cela je suis complet :-))

Quelqu'un aurait une idée pour que l'appel retourinitial se fasse une fois la mise à jour terminée?

Merci .
Afficher la suite 

4 réponses

eriiic 21192 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - Modifié par eriiic le 22/11/2016 à 11:54
0
Utile
3
Bonjour,

supervise par un ontime toutes les secondes (ou autre technique) une cellule dont tu es sûr qu'elle doit changer pour lancer la suite, ou bien si tu es sûr qu'une tempo de 2s par exemple est suffisante lance la suite par un ontime 2s plus tard.
eric


En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Goth!er 10 Messages postés jeudi 10 novembre 2016Date d'inscription 30 novembre 2017 Dernière intervention - 22 nov. 2016 à 12:05
Bonjour eriiic,

Merci pour ta réponse, je suis moyen chaud pour cette idée ... le fichier est destiné à différents utilisateurs, qui peuvent charger des bases de données sensiblement différentes, ce qui peux mettre entre 2 min et 15 min selon l'usager pour la màj.

J'ai tenté le DoEvents qui n'a pas fonctionné non plus.
eriiic 21192 Messages postés mardi 11 septembre 2007Date d'inscriptionContributeurStatut 15 décembre 2017 Dernière intervention - 22 nov. 2016 à 12:13
il y avait 2 propositions.
Voit si la 1ère est réalisable.
Goth!er 10 Messages postés jeudi 10 novembre 2016Date d'inscription 30 novembre 2017 Dernière intervention - 23 nov. 2016 à 13:49
Bonjour,
cela ne fonctionne pas, j'ai trouvé une partie de solution en désactivant l'option "background refresh" de mes imports , le hic c'est qu'a partir du 100eme import l'option se recoche automatiquement !?#
Je cherche donc un code VBA pour désactiver l'option "background refgresh" de toutes mes connections.

Une idée?