Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 15/09/2007, 15h47   #1 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2006
Messages: 19
Par défaut utilisation de Application.ScreenUpdating

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 :-)
Nicool est déconnecté   Réponse avec citation
ANNONCES
Vieux 15/09/2007, 16h03   #2 (permalink)
XLDnaute Barbatruc
 
Avatar de Staple1600
 
Date d'inscription: juin 2005
Localisation: RENNES
Version Excel : Excel 2000 (PC)
Messages: 6 803
Par défaut 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 modification par Staple1600 ; 15/09/2007 à 16h05. Motif: balise code
Staple1600 est déconnecté   Réponse avec citation
Vieux 16/09/2007, 03h57   #3 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2006
Messages: 19
Par défaut 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 est déconnecté   Réponse avec citation
Vieux 16/09/2007, 04h12   #4 (permalink)
XLDnaute Nouveau
 
Date d'inscription: août 2006
Messages: 19
Par défaut 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...
Nicool est déconnecté   Réponse avec citation
Vieux 16/09/2007, 10h17   #5 (permalink)
XLDnaute Impliqué
 
Avatar de excalibur
 
Date d'inscription: février 2005
Localisation: grenoble
Version Excel : Excel 2003 (PC)
Messages: 752
Par défaut 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 modification par excalibur ; 16/09/2007 à 11h30.
excalibur est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Application.ScreenUpdating = False pierrejean Forum Excel 2 22/06/2006 10h03
Application.ScreenUpdating ninou58 Forum Excel 8 13/04/2006 15h34
Utilisation de Application.ScreenUpdating damos Forum Excel Downloads - Archives 9 29/04/2004 00h32
Application.ScreenUpdating Luc Forum Excel Downloads - Archives 0 01/09/2003 22h11
Application.ScreenUpdating Moa Forum Excel Downloads - Archives 2 10/07/2003 14h39


Fuseau horaire GMT +2. Il est actuellement 12h20.


(C) 2006 Excel Downloads