Bonjour à tous
J'utilise des programmes en VBA dont le temps de traitement est assez long
sur des données.
Je voudrais à intervalle régulier, donner des indications à l'utilisateur
sur l'avancement du traitement mais comment faire sans utiliser la Msgbox
qui interrompt le traitement. Existe-t-il un paramétrage de la Msgbox ou
d'un UserForm permettant juste l'affichage pendant que le traitement se
poursuit?
Une autre solution serait peut-être d'utiliser la barre détat d'Excel mais
a-t-on la possibilité d'y accéder en VBA?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Jean-Luc,
execute cette macro à partir de la feuille et regarde la barre d'état
Sub Macro1() oldStatusBar = Application.DisplayStatusBar Application.DisplayStatusBar = True For i = 1 To 100000 Application.StatusBar = "Please be patient..." & i Next Application.StatusBar = False Application.DisplayStatusBar = oldStatusBar End Sub
isabelle
JLH974 a écrit :
Bonjour à tous J'utilise des programmes en VBA dont le temps de traitement est assez long sur des données. Je voudrais à intervalle régulier, donner des indications à l'utilisateur sur l'avancement du traitement mais comment faire sans utiliser la Msgbox qui interrompt le traitement. Existe-t-il un paramétrage de la Msgbox ou d'un UserForm permettant juste l'affichage pendant que le traitement se poursuit? Une autre solution serait peut-être d'utiliser la barre détat d'Excel mais a-t-on la possibilité d'y accéder en VBA?
Jean-Luc Réunion Island
bonjour Jean-Luc,
execute cette macro à partir de la feuille et regarde la barre d'état
Sub Macro1()
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
For i = 1 To 100000
Application.StatusBar = "Please be patient..." & i
Next
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
End Sub
isabelle
JLH974 a écrit :
Bonjour à tous
J'utilise des programmes en VBA dont le temps de traitement est assez
long sur des données.
Je voudrais à intervalle régulier, donner des indications à
l'utilisateur sur l'avancement du traitement mais comment faire sans
utiliser la Msgbox qui interrompt le traitement. Existe-t-il un
paramétrage de la Msgbox ou d'un UserForm permettant juste l'affichage
pendant que le traitement se poursuit?
Une autre solution serait peut-être d'utiliser la barre détat d'Excel
mais a-t-on la possibilité d'y accéder en VBA?
execute cette macro à partir de la feuille et regarde la barre d'état
Sub Macro1() oldStatusBar = Application.DisplayStatusBar Application.DisplayStatusBar = True For i = 1 To 100000 Application.StatusBar = "Please be patient..." & i Next Application.StatusBar = False Application.DisplayStatusBar = oldStatusBar End Sub
isabelle
JLH974 a écrit :
Bonjour à tous J'utilise des programmes en VBA dont le temps de traitement est assez long sur des données. Je voudrais à intervalle régulier, donner des indications à l'utilisateur sur l'avancement du traitement mais comment faire sans utiliser la Msgbox qui interrompt le traitement. Existe-t-il un paramétrage de la Msgbox ou d'un UserForm permettant juste l'affichage pendant que le traitement se poursuit? Une autre solution serait peut-être d'utiliser la barre détat d'Excel mais a-t-on la possibilité d'y accéder en VBA?