Bien le bonjour =E0 tous.
Pour acc=E9l=E9rer le d=E9roulement d'un long processus, j'ai introduit en =
d=E9but de macro "Application.ScreenUpdating =3D False".
Pour conna=EEtre automatiquement l'avancement du travail (et diminuer mon i=
mpatience !) j'ai inclus =E0 un endroit dans la macro un "Application.Scree=
nUpdating =3D False"
suivi d'un "Application.ScreenUpdating =3D True".=20
Mais il ne se passe rien, alors que si j'interromps manuellement le d=E9rou=
lement de la Macro (avec "Esc" ou avec un point d'arr=EAt) l'=E9cran se raf=
ra=EEchit et que je peux ensuite repartir avec "D=E9bogage" ou "Ctrl + Shif=
t + F8".
Comment faire ? Merci pour vos id=E9es g=E9niales.
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
MichD
Bonjour,
Au moment opportun, utilise une boîte de message Msgbox "Fin étape1" pour arrêter temporairement la macro.
Si tu préfères, dans la procédure générale, tu appelles cette procédure : Call Delai(10) '10 représente le nombre de secondes que la macro va s'arrêter pour reprendre automatiquement ses activités après la durée prévue.
'------------------------------------------------------------ Sub Delai(T as double) Application.ScreenUpdating = True T = Timer + T Do While Timer <= T DoEvents Loop Application.ScreenUpdating = False End Sub '------------------------------------------------------------
Tu peux choisir d'afficher un message dans une cellule à différents moments lors de l'exécution de la macro. Adapte l'adresse de la cellule.
Au moment opportun, utilise une boîte de message Msgbox "Fin étape1"
pour arrêter temporairement la macro.
Si tu préfères, dans la procédure générale, tu appelles cette procédure :
Call Delai(10)
'10 représente le nombre de secondes que la macro va
s'arrêter pour reprendre automatiquement ses activités après la durée prévue.
'------------------------------------------------------------
Sub Delai(T as double)
Application.ScreenUpdating = True
T = Timer + T
Do While Timer <= T
DoEvents
Loop
Application.ScreenUpdating = False
End Sub
'------------------------------------------------------------
Tu peux choisir d'afficher un message dans une cellule à différents moments
lors de l'exécution de la macro. Adapte l'adresse de la cellule.
Au moment opportun, utilise une boîte de message Msgbox "Fin étape1" pour arrêter temporairement la macro.
Si tu préfères, dans la procédure générale, tu appelles cette procédure : Call Delai(10) '10 représente le nombre de secondes que la macro va s'arrêter pour reprendre automatiquement ses activités après la durée prévue.
'------------------------------------------------------------ Sub Delai(T as double) Application.ScreenUpdating = True T = Timer + T Do While Timer <= T DoEvents Loop Application.ScreenUpdating = False End Sub '------------------------------------------------------------
Tu peux choisir d'afficher un message dans une cellule à différents moments lors de l'exécution de la macro. Adapte l'adresse de la cellule.
Excellente idée. Je vais tester le Call Delai car la MsgBox m'oblige à doner le OK et donc à attendre devant l'ordi. Merci à MichD
Le lundi 6 avril 2015 11:39:34 UTC+2, Jaguar a écrit :
Bien le bonjour à tous. Pour accélérer le déroulement d'un long processus, j'ai introduit e n début de macro "Application.ScreenUpdating = False".
Pour connaître automatiquement l'avancement du travail (et diminuer mon impatience !) j'ai inclus à un endroit dans la macro un "Application.Scr eenUpdating = False" suivi d'un "Application.ScreenUpdating = True".
Mais il ne se passe rien, alors que si j'interromps manuellement le dér oulement de la Macro (avec "Esc" ou avec un point d'arrêt) l'écran se r afraîchit et que je peux ensuite repartir avec "Débogage" ou "Ctrl + Sh ift + F8".
Comment faire ? Merci pour vos idées géniales.
Excellente idée. Je vais tester le Call Delai car la MsgBox m'oblige à doner le OK et donc à attendre devant l'ordi.
Merci à MichD
Le lundi 6 avril 2015 11:39:34 UTC+2, Jaguar a écrit :
Bien le bonjour à tous.
Pour accélérer le déroulement d'un long processus, j'ai introduit e n début de macro "Application.ScreenUpdating = False".
Pour connaître automatiquement l'avancement du travail (et diminuer mon impatience !) j'ai inclus à un endroit dans la macro un "Application.Scr eenUpdating = False"
suivi d'un "Application.ScreenUpdating = True".
Mais il ne se passe rien, alors que si j'interromps manuellement le dér oulement de la Macro (avec "Esc" ou avec un point d'arrêt) l'écran se r afraîchit et que je peux ensuite repartir avec "Débogage" ou "Ctrl + Sh ift + F8".
Excellente idée. Je vais tester le Call Delai car la MsgBox m'oblige à doner le OK et donc à attendre devant l'ordi. Merci à MichD
Le lundi 6 avril 2015 11:39:34 UTC+2, Jaguar a écrit :
Bien le bonjour à tous. Pour accélérer le déroulement d'un long processus, j'ai introduit e n début de macro "Application.ScreenUpdating = False".
Pour connaître automatiquement l'avancement du travail (et diminuer mon impatience !) j'ai inclus à un endroit dans la macro un "Application.Scr eenUpdating = False" suivi d'un "Application.ScreenUpdating = True".
Mais il ne se passe rien, alors que si j'interromps manuellement le dér oulement de la Macro (avec "Esc" ou avec un point d'arrêt) l'écran se r afraîchit et que je peux ensuite repartir avec "Débogage" ou "Ctrl + Sh ift + F8".