Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

question de temps !!!!!

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

E

edjo123

Guest
Bonsoir le forum

Voila !!! mon problème c'est que j'ai écrit un certain nombre de macros qui agit sur les feuilles de mon classeur.

Le problème c'est que quand j'appelle mes macros, les différentes étapes défilent à l'écran (selection d'une feuille, copie de ci, calcul de ca etc.....)

Résultat, le programme n'est pas rapide !!!!! "On " m'a dit kil y avait un moyen de ne pas afficher les étapes de la réalisation des macros avec un truc comme

application.screenupdating =false
puis
application.screenupdating =true

à mettre au debut et à la fin du code

Le truc c'est que ca ne marche pas (peut être ne l'ai je pas bien utilisé? 🙁)

Auriez-vous des solutions à me proposer ?

Merci d'avance pour vos promptes réactions
 
Re : question de temps !!!!!

Effectivement ca doit marcher

Code:
[FONT=Arial]Sub Créer_objectifs_CC()[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial]Application.ScreenUpdating = False  [/FONT][COLOR=teal][FONT=Arial]'ne pas voir ce qui se passe à l'écran, diminue besoin mémoire[/FONT][/COLOR][FONT=Arial][/FONT]
[COLOR=teal][FONT=Arial][/FONT][/COLOR][FONT=Arial][/FONT]
[FONT=Arial][/FONT] 
[FONT=Arial]......[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial]Application.ScreenUpdating = True[/FONT]
[FONT=Arial] [/FONT]
[FONT=Arial]End Sub[/FONT]
 
Re : question de temps !!!!!

Bonjour edjo123,

Tu dis avoir plusieurs macros qui ont chacune une action spécifique, c'est donc au début de chaque macro et la fin que tu dois mettre ces instructions.

Bon AM

Jean-Pierre
 
Re : question de temps !!!!!

Bonjour Edjo, bonjour le forum,

la solution que l'on t'a donné est bien la bonne maintenant il faudrait voir un peu ton code pour pouvoir t'en dire plus...

Édition

Bonjour Nat, JeanPierre on s'est croisé...
 
Dernière édition:
Re : question de temps !!!!!

Merci

j'ai corrigé mon code et les étapes ne defilent effectivement plus à l'écran. Cependant, le temps d'execution est toujours vachement long et un observateur "exterieur" (autre que moi !!!!) de mon ecran pourrait croire qu'excel a planté.

J'aimerais pouvoir afficher un petit message sur la barre de statut ou ailleurs pendant le temps de l'execution pour rassurer les potentiels utilisateurs de mon outil

Savez vous comment faire ?
 
Re : question de temps !!!!!

@masterdisco

Plus serieusement , ta solution marche certainement mais moi je ne peux l'utiliser vu que mon code affiche deja un userform et que vba me dit kon ne peut afficher deux userforms simultanément 🙁 !!!!!

J'ai écrit ceci

Private Sub OptionButton1_Click()

Application.ScreenUpdating = False

oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
Application.StatusBar = "Please be patient....!"



Delete_Commandbar
CreatingToolBarMales
e = SimulationSheet(ligM, colM)
f = CockpitSheet(colM, 8)
colM = colM
colF = colF

Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar

Application.ScreenUpdating = True

End Sub

et ca marche plutot pas mal sauf que j'aimerais bien que mes trois points de suspensions dans la barre d'etat clignotent pour indiquer que le programme tourne

Some ideas Forum ???
 
Re : question de temps !!!!!

@ masterdico

J'aimerais bien pouvoir afficher un truc comme celui qui tourne près de ton nom dans ta signature tu peux me dire comment ca marche ?
 
Re : question de temps !!!!!

Si tu fais beaucoup d'assignationde contenu de cellules, alors il te faut désactiver le calcul automatique pour réellement gagner du temps.

Je suis ainsi passé d'un temps d'exécution de ma macro de 40 minutes environ à moins de 3 secondes !!

Il faut toutefois que dans ta macro tu n'aies pas besoin d'utiliser les résultats de formules contenues dans des cellules bien sûr puisque les calculs ne sont plus effectués durant le déroulement de la macro.

A la fin de la macro tu réactives le calcul automatique et tu verras que celui-ci est instantané. 😉


La commande pour désactiver le calcul automatique :
Application.Calculation = xlCalculationManual
et celle pour le réactiver :
Application.Calculation = xlAutomatic



PS : le truc qui tourne est un simple GIF. 😉
 
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…