utilisation de Application.ScreenUpdating

Nicool

XLDnaute Nouveau
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 :)
 

Staple1600

XLDnaute Barbatruc
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:

Nicool

XLDnaute Nouveau
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à!
 

Nicool

XLDnaute Nouveau
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...
 

excalibur

XLDnaute Impliqué
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:

Discussions similaires

Statistiques des forums

Discussions
312 615
Messages
2 090 244
Membres
104 465
dernier inscrit
Motuss