Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Blafi
  • 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 !

Blafi

XLDnaute Occasionnel
Bonjour à tous,
J'ai un pb avec une macro sur un fichier très gros (que je ne peux pas joindre sauf à l'édulcorer sérieusement). Cette macro affiche une boite de dialogue demandant de rentrer certains renseignements. Lorsque l'utilisateur a fini de la remplir il clic sur OK et, après avoir enregistré les entrées dans des variables, elle ferme la boite de dialogue avant de continuer...
Cela marchait très bien jusqu'à pas longtemps car maintenant on dirait que la macro 'rame'... la boite de dialogue ne se ferme plus avant que la macro ait fini (ce qui est assez long)...
On dirait qu'elle n'exécute pas la ligne 'Bdd.hide'.
Par contre lorsque je l'exécute pas à pas elle passe bien sur cette ligne de commande et ferme la bdd...

Quelqu'un peut-il me dire d'où cela peut venir ??
En cas de besoin je pourrai joindre mon fichier après l'avoir en grande partie allégé...
Merci d'avance de vos précieux conseils...
 
Bonjour le Forum, Blafi,

Sans la macro comment veux tu qu'on te dise d'où ca vient 🙂 !!!

DEs pistes au hasard le plus total : Grand nombre de fichiers temporaires sur ta machine qui font ramer la macro, Code trop lourd à simplifier, taille des fichiers Excel importantes.

Etc...
Etc..

Je prends une belle option pour le ZOP là

++

Creepy
 
Salut,

Si ton fichier contient beaucoup de calculs, il pourrait être utile dans ta macro, de te mettre en calcul manuel


Application.Calculation = xlCalculationManual


d'introduire toutes tes donnés
de fermer la box

puis calculer et te remettre en mode automatique avant de sortir de ta macro.

calculate

Application.Calculation = xlCalculationAutomatic


J'ai parfois eu ce problème de lenteur qui a été résolu comme ça.



A+
 
Bonjour blafi, creepy, titcoeur, le forum

🙂

Blafi dit :
On dirait qu'elle n'exécute pas la ligne 'Bdd.hide'.
Par contre lorsque je l'exécute pas à pas elle passe bien sur cette ligne de commande et ferme la
bdd...

Attention : .hide ne décharge pas de la mémoire un userform, mais le masque simplement, ce qui peut etre source de ralentissement.

Pour 'fermer' un usf il faut utiliser unload Bdd.

Salut
 
Rebonjour à tous...
Merci à Creepy, titcoeur et Hervé qui m'ont répondu et donné une part de solution...
Comme c'est un gros fichier (le classeur fait 8 Mo)j'ai tenté la solution de titcoeur en annulant le recalcul automatique... la vitesse de réaction est nettement meilleure mais il me reste le problème de ma boite de dialogue qui ne disparait pas quand je voudrais.
J'ai tenté le 'unload Me ' mais à ce moment là toutes mes variables que j'avais récupérées dans la bdd semble s'effacer et ma macro s'arrète car elle ne trouve plus les variables à utiliser.
J'ai donc conservé le Bdd.hide qui est suivi d'une ligne 'application.ScreenUpdatiing=False' et ma boite de dialogue ne disparait de l'écran qu'à la fin de la macro lorsque je remets l'updating de l'écran.... Est-ce normal compte tenu du fait que le hide est avant le Screenupdating dans le code..

Avez-vous une explication ou une solution ?....Sinon, je vais essayer de vous envoyer un fichier très raccourci reprenant la manip que je veux faire...
Merci d'avance et à bientôt.
 
- 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

Discussions similaires

Réponses
5
Affichages
550
T
  • Résolu(e)
Microsoft 365 pb effacement macro
Réponses
8
Affichages
795
Themax
T
Réponses
4
Affichages
584
Réponses
8
Affichages
733
Réponses
21
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…