Formule "ralentisseuse"

Le
Manbas
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECHERCHEV(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N10;TousItems;2;FAUX))))))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formule
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jacques.ragni
Le #4854321
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECHER CHEV­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10 +R10<=1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N10;TousIt ems;2;FAUX))))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formule
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?

Philippe.R
Le #4854221
Re,
dans tous les codes, peut être pas, mais surement dans tous ceux qui
impliquent le changement d'une valeur dans le classeur, sinon, le recalcul
en cascade de toutes les fonctions est garanti à chaque changement et la
lenteur aussi.
Si la nécessité existe d'obtenir un résultat sur une cellule ou plage de
cellule lors de l'exécution d'une procédure, tu peux provoquer ce calcul par
:
range("ta plage").calculate
ta plage représentant la ou les cellules contenant les formules à calculer
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
news:
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECHERCHEV­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<=1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N10;TousItems;2;FAUX))))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formule
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?

Mgr.Abile
Le #4854211
Bonjour Jacques,
Attention, mon fils, à ne pas laisser ainsi votre adresse à la portée des
robots spammeurs.
--
Allez en paix
T.Abile
news:
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECHERCHEV­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<=1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N10;TousItems;2;FAUX))))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formule
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?

jacques.ragni
Le #4854171
On 30 sep, 09:15, "Philippe.R"
Re,
dans tous les codes, peut être pas, mais surement dans tous ceux qui
impliquent le changement d'une valeur dans le classeur, sinon, le recalcul
en cascade de toutes les fonctions est garanti à chaque changement et la
lenteur aussi.
Si la nécessité existe d'obtenir un résultat sur une cellule ou pla ge de
cellule lors de l'exécution d'une procédure, tu peux provoquer ce cal cul par
:
range("ta plage").calculate
ta plage représentant la ou les cellules contenant les formules à cal culer
--http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECH ERCHEV­­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>1 4;U10+R10<=­1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N1 0;TousItems;2;FAUX))­))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formu le
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?


Il y a moins de lenteur mais le temps de réaction est malgré tout
sensible.
Effectivement plusieurs procédures concernent le calcul sur des plages
de cellules. Mais je ne comprends pas ta suggestion de calculate.
C'est à rajouter à l'intérieur des macros qui effectuent ces calculs?
Si oui, puisqu'elles le font, quel est le rôle de ce code?
Si non, où le placer?


Philippe.R
Le #4854161
Re,
L'instruction Application.Calculation = xlCalculationManual, placée en début
de procédure,
bloque l'exécution des calculs dans la feuille ; la suggestion concerne le
cas où tu as besoin du résultat d'un calcul en cours de procédure.
La commande ".calculate" forcera la calcul de la plage à laquelle elle est
appliquée, te permettant de récupérer le résultat de ce calcul sans pour
autant calculer tout le classeur.
Pour accélérer encore, au cas où tu ne l'aurais déjà utilisée, il y a :
application.ScreenUpdatingúlse en début et = true à la fin
--
http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
news:
On 30 sep, 09:15, "Philippe.R"
Re,
dans tous les codes, peut être pas, mais surement dans tous ceux qui
impliquent le changement d'une valeur dans le classeur, sinon, le recalcul
en cascade de toutes les fonctions est garanti à chaque changement et la
lenteur aussi.
Si la nécessité existe d'obtenir un résultat sur une cellule ou plage de
cellule lors de l'exécution d'une procédure, tu peux provoquer ce calcul
par
:
range("ta plage").calculate
ta plage représentant la ou les cellules contenant les formules à calculer
--http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
denews:
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECHERCHEV­­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<=­1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N10;TousItems;2;FAUX))­))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formule
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?


Il y a moins de lenteur mais le temps de réaction est malgré tout
sensible.
Effectivement plusieurs procédures concernent le calcul sur des plages
de cellules. Mais je ne comprends pas ta suggestion de calculate.
C'est à rajouter à l'intérieur des macros qui effectuent ces calculs?
Si oui, puisqu'elles le font, quel est le rôle de ce code?
Si non, où le placer?


jacques.ragni
Le #4854111
On 30 sep, 09:21, "Mgr.Abile"
Bonjour Jacques,
Attention, mon fils, à ne pas laisser ainsi votre adresse à la port ée des
robots spammeurs.
--
Allez en paix
T.Abile
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RECH ERCHEV­­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>1 4;U10+R10<=­1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHERCHEV(N1 0;TousItems;2;FAUX))­))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la formu le
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?


Merci pour l'avertissement. Je suis actuellement au travail et le
réseau ne me permets pas d'utiliser outlook express. J'utilise donc ce
compte google pour me connecter au mpfe, avec une adresse publique
déjà complètement spamée par ailleurs.


jacques.ragni
Le #4854061
On 30 sep, 10:16, "Philippe.R"
Re,
L'instruction Application.Calculation = xlCalculationManual, placée e n début
de procédure,
bloque l'exécution des calculs dans la feuille ; la suggestion concern e le
cas où tu as besoin du résultat d'un calcul en cours de procédure.
La commande ".calculate" forcera la calcul de la plage à laquelle elle est
appliquée, te permettant de récupérer le résultat de ce calcul sa ns pour
autant calculer tout le classeur.
Pour accélérer encore, au cas où tu ne l'aurais déjà utilisée , il y a :
application.ScreenUpdatingúlse en début et = true à la fin
--http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
On 30 sep, 09:15, "Philippe.R"




Re,
dans tous les codes, peut être pas, mais surement dans tous ceux qui
impliquent le changement d'une valeur dans le classeur, sinon, le recal cul
en cascade de toutes les fonctions est garanti à chaque changement et la
lenteur aussi.
Si la nécessité existe d'obtenir un résultat sur une cellule ou p lage de
cellule lors de l'exécution d'une procédure, tu peux provoquer ce c alcul
par
:
range("ta plage").calculate
ta plage représentant la ou les cellules contenant les formules à c alculer
--http://www.excelabo.net/mpfe/connexion.php
Avec plaisir
Philippe.R
denews:
On 30 sep, 07:26, "Manbas"
Bonjour à tous,

Dans 100 cellules par colonne, pour 20 colonnes par feuille, dans 12
feuilles identiques, j'ai mis la formule suivante:
SI(ESTERREUR(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<);"3";RE CHERCHEV­­­(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+ R10>14;U10+R10<­=­1­9);"3";SI(ET(U10+R10>7;U10+R10<);"2";RECHE RCHEV(N10;TousItems;2;FAUX­))­))­))

Les macro sont devenues si lentes que le classeur n'est pas utilisable
ainsi.

Tout fonctionne bien lors de l'essai de la première colonne, la for mule
rempli son office. Mais l'accumulation est rédibitoire.
Ai-je une solution?
Merci de votre aide +++


Merci PhilippeR
Effectivement ça aide.
Donc dans tous les codes, y compris ceux qui ne portent pas sur des
calculs de données ?


Il y a moins de lenteur mais le temps de réaction est malgré tout
sensible.
Effectivement plusieurs procédures concernent le calcul sur des plages
de cellules. Mais je ne comprends pas ta suggestion de calculate.
C'est à rajouter à l'intérieur des macros qui effectuent ces calcul s?
Si oui, puisqu'elles le font, quel est le rôle de ce code?
Si non, où le placer?- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Merci beaucoup +++ pour tes explications Philippe.
Je vais travailler tout ça.



Publicité
Poster une réponse
Anonyme