VBA--Application.ScreenUpdating

  • Initiateur de la discussion Initiateur de la discussion JJ1
  • 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 !

J

JJ1

Guest
Bonjour,

Je viens vers vous pour une question simple:

J'ai un bout de code avec sous le sub() Application.ScreenUpdating = False puis mon code et avant End Application.ScreenUpdating = True.

Est-il possible d'ajouter un compteur (qui lui défilerait) pour m'indiquer où en est ma boucle dans mon code?

Merci de votre idée.

Bonne soirée
 
Re : VBA--Application.ScreenUpdating

bonjour jj1 si tu bloque la mise a jour c'est je pense pour aller plus vite non??? tu vas en perdre le bénefice en plus tu vas rallonger le temps pour effectuer ton code

a l'extreme... en fonction de ton code tu peut faire un Updating entre chaque sequence mais cela va dependre de ton code que l'on connais pas???
 
Re : VBA--Application.ScreenUpdating

Bonjour Laetitia,

Merci pour ta réponse....logique !

mais c'est pas évident de voir un écran figé, sans aucune visibilité de l'avancement!

La vitesse prime sur la lisibilité.

Bonne soirée
 
Re : VBA--Application.ScreenUpdating

Bonjour,

Personnellement dans le cas d'utilisation de boucles et de variables j'utilise

Option Explicit
' Affiche un message dans la barre de status d'Excel
Sub StsBar(ByVal strMsg As String)
Application.StatusBar = strMsg
End Sub

puis

Dim strOps As String 'definir la variable
code
StsBar strOps & " Var1=" & Var1 'exemple de variable a suivre
fin de code

Mais à voir si cela est possible dans votre cas

Cordialement
 
Re : VBA--Application.ScreenUpdating

Bonjour à tous,

ma petite contribution en pièce jointe
il s'agit de boucler 10.000 fois et afficher la variable I dans une cellule

on constate que les temps d'exécution varient de 1 à 6 (les temps peuvent varier d'un PC à l'autre)

la meilleure solution est donc :
Code:
MsgBox ("Allez boire un café, la procédure continue sans vous !")
Application.ScreenUpdating = False
' la suite du code
' ----------------


Application.ScreenUpdating = True
à+
Philippe
 

Pièces jointes

Re : VBA--Application.ScreenUpdating

RE,
le concept le plus important enfin pour moi.... c'est deja d'optimiser ton code si bien ecris cela peut aller trés vite mais bon sans plus d'infos pas simple
Pour aller dans le même sens que Laetitia, j'ajouterai une chose à laquelle on ne pense pas assez souvent:
au début du code:
Code:
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
et en fin de procédure
Code:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Vous serez étonnés du résultat, et d'autant plus fort si la feuille contient des : SOMMEPROD, RECHERCHEV, EQUIV, des formules matricielles, ...............

à+
Philippe
 
Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
72
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
482
Réponses
12
Affichages
228
Réponses
6
Affichages
303
Retour