utilisation de Application.ScreenUpdating

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

N

Nicool

Guest
Bonjour!

Actuellement je crée une macro qui doit me minimiser la valeur d'une cellule P119 en testant différentes valeurs pour la plage de cellule B2:B116. En fait, parmi ces cellules 20 doivent valoir 1, les autres zéro.

Le problème c'est que ma macro met les "1" un par un dans les cellules, et donc je crois qu'excel recalcule à chaque fois la valeur de P119 (calcul complexe), alors que je n'ai besoin de cette valeur qu'une fois tous les "1" distribués.

Donc j'utilise Application.ScreenUpdating=false au début de ma boucle, et Application.ScreenUpdating=true quand tous les "1" ont été distribués.

Le probléme c'est que ma macro tourne encore plus lentement qu'avant!!!!
Est-ce que j'ai fait une erreur? Quelqu'un a une meilleure idée?

Merci d'avance à ceux qui voudront m'aider 🙂
 
Re : utilisation de Application.ScreenUpdating

Bonjour

Essaye
Code:
Sub test()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
'ton code
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

A+

Staple
 
Dernière édition:
Re : utilisation de Application.ScreenUpdating

Merci pour ton aide Staple!
J'ai fais ce que tu m'as dit, ça marche mais cela m'a apporté un nouveau problème.

En fait mon programme est très long, et pour l'instant je me contente de le faire tourner 1 minute et pour voir combien d'essais je peux faire en 1 minute, et je déduirai ainsi combien de temps me prendra la macro pour tourner jusqu'au bout. Il y a donc un compteur dans mon code qui se met à jour à chaque fois que je veux tester une nouvelle combinaison de "1".

Le problème c'est que maintenant ma macro plante en moins d'une minute, alors qu'elle a fait 32767 iitérations, et me dit:
erreur d'execution '6'
dépassement de capacité


est-il possible d'augmenter cette capacité? J'avais eu un problème similaire avec le solver (limité è 32768 itérations), mais j'ai besoin de faire plus!!!!!!

Merci d'avance à tout ceux qui pourront m'aider, car la clé de mon problème est là!
 
Re : utilisation de Application.ScreenUpdating

Ah je précise quelque chose:
je viens de lancer le debugger (désolé je n'y avais pas pensé, je suis débutant en VB/excel), et ça m'aide un peu. Je vais créer un nouveau post car on change de problème...
 
Re : utilisation de Application.ScreenUpdating

bonjour nicool staple le forum la variable de ton compteur est declare comment integer !!!!! declare la en
dim ....as long ou dim ... as variable
salutations
oups pas vu post precedent
 
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

Retour