Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule "ralentisseuse"

7 réponses
Avatar
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<=19);"3";RECHERCHEV(N10;TousItems;2;FAUX))));"";(SI(U10+R10>19;"4";SI(ET(U10+R10>14;U10+R10<=19);"3";SI(ET(U10+R10>7;U10+R10<=14);"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 +++

7 réponses

Avatar
jacques.ragni
On 30 sep, 07:26, "Manbas" wrote:
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 ?

Avatar
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
a écrit dans le message de
news:
On 30 sep, 07:26, "Manbas" wrote:
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 ?

Avatar
Mgr.Abile
Bonjour Jacques,
Attention, mon fils, à ne pas laisser ainsi votre adresse à la portée des
robots spammeurs.
--
Allez en paix
T.Abile
a écrit dans le message de
news:
On 30 sep, 07:26, "Manbas" wrote:
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 ?

Avatar
jacques.ragni
On 30 sep, 09:15, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
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
a écrit dans le message denews:1191135266.10
On 30 sep, 07:26, "Manbas" wrote:

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?


Avatar
Philippe.R
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
a écrit dans le message de
news:
On 30 sep, 09:15, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
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
a écrit dans le message
denews:
On 30 sep, 07:26, "Manbas" wrote:

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?


Avatar
jacques.ragni
On 30 sep, 09:21, "Mgr.Abile" wrote:
Bonjour Jacques,
Attention, mon fils, à ne pas laisser ainsi votre adresse à la port ée des
robots spammeurs.
--
Allez en paix
T.Abile
a écrit dans le message denews:1191135266.10
On 30 sep, 07:26, "Manbas" wrote:

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.


Avatar
jacques.ragni
On 30 sep, 10:16, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:
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
a écrit dans le message denews:1191139124.29
On 30 sep, 09:15, "Philippe.R" <AS_rauphil_chez_wanadoo.fr> wrote:





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
a écrit dans le message
denews:
On 30 sep, 07:26, "Manbas" wrote:

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.