RefreshAll
MP
-
Mp -
Mp -
Bonjour,
J'utilise la fonction (Si on peut appeler ca comme ca ..) refreshAll de la maniere suivante:
Sub updatedata()
Sheets("Data").Select
ActiveWorkbook.RefreshAll
MsgBox ("MAJ")
End Sub
Je remarque le message s affiche avant la mise a jour alors que je souhaite l'inverse.
Est ce aue auelau'un a une explication ?
NB : Mon but n'etant pas d afficher un message mais de faire des calculs par rapport aux donnees mises a jour, par consequent le fait que le rafraichissement de la feuille ne se fasse qu a la toute fin du programme m'empeche de derouler correctement mes calculs.
J'utilise la fonction (Si on peut appeler ca comme ca ..) refreshAll de la maniere suivante:
Sub updatedata()
Sheets("Data").Select
ActiveWorkbook.RefreshAll
MsgBox ("MAJ")
End Sub
Je remarque le message s affiche avant la mise a jour alors que je souhaite l'inverse.
Est ce aue auelau'un a une explication ?
NB : Mon but n'etant pas d afficher un message mais de faire des calculs par rapport aux donnees mises a jour, par consequent le fait que le rafraichissement de la feuille ne se fasse qu a la toute fin du programme m'empeche de derouler correctement mes calculs.
1 réponse
Bonsoir MP, bonsoir le forum,
Peut être devrais-tu laisser le temps à excel de recalculer avant d'afficher le message. Re3arde le code ci-dessous (4 secondes d'attente) :
Peut être devrais-tu laisser le temps à excel de recalculer avant d'afficher le message. Re3arde le code ci-dessous (4 secondes d'attente) :
Sub updatedata() Sheets("Data").Select ActiveWorkbook.RefreshAll Application.Wait (Now + TimeValue("0:00:4")) MsgBox "MAJ" End Sub
J'ai aussi trouvé une autre solution sur le net :
Aller dans données externes
Propriétés de la page de donnees et décocher activer l'actualisation en background
:)
Bonne journée !!