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

Lenteur calcul

5 réponses
Avatar
Jol
Bonjour,
Dans une appli j'ai la formule suivante qui met à jour 8 champs d'un tableau
qui comport environ 800 lignes et ceci dupliqué sur 10 feuilles.

=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D:$D;0))=VRAI;"";INDEX('Base
toto'!A:A;EQUIV($E7;'Base toto'!$D:$D;0)))

Le problème est que lorsque je mets à jour la base toto, quand je renseigne
le champ impliqué par la cellule $e7, il passe un temps d'une dizaine de
secondes pour metter à jour.
Comment pourrait on améliorer cela.

Merci

5 réponses

Avatar
Jacky
Re...
En terme de temps d'exécution ceci devrait déjà améliorer
=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D1:$D1000;0));"";INDEX('Base
toto'!A1:A1000;EQUIV($E7;'Base toto'!$D1:$D1000;0)))
Sinon avec des plages nommées et calculées si la longueur de la plage est
incertaine

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonjour,

Limiter la plage A:A et D:D aux lignes(800) nécessaire.

--
Salutations
JJ


"Jol" a écrit dans le message de news:
%
Bonjour,
Dans une appli j'ai la formule suivante qui met à jour 8 champs d'un
tableau qui comport environ 800 lignes et ceci dupliqué sur 10 feuilles.

=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D:$D;0))=VRAI;"";INDEX('Base
toto'!A:A;EQUIV($E7;'Base toto'!$D:$D;0)))

Le problème est que lorsque je mets à jour la base toto, quand je
renseigne le champ impliqué par la cellule $e7, il passe un temps d'une
dizaine de secondes pour metter à jour.
Comment pourrait on améliorer cela.

Merci







Avatar
Jol
J'ai en effet nommé les zones en leur donnant une taile + raisonnable et
l'amélioration est là
J'ai essayé de nommer en zone variable (ÞCALER(D$1;;;NBVAL(D:D)) mais j'ai
quelques erreurs qui subsistent.
Merci beaucoup

Cordialement

"Jacky" a écrit dans le message de news:

Re...
En terme de temps d'exécution ceci devrait déjà améliorer
=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D1:$D1000;0));"";INDEX('Base
toto'!A1:A1000;EQUIV($E7;'Base toto'!$D1:$D1000;0)))
Sinon avec des plages nommées et calculées si la longueur de la plage est
incertaine

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonjour,

Limiter la plage A:A et D:D aux lignes(800) nécessaire.

--
Salutations
JJ


"Jol" a écrit dans le message de news:
%
Bonjour,
Dans une appli j'ai la formule suivante qui met à jour 8 champs d'un
tableau qui comport environ 800 lignes et ceci dupliqué sur 10 feuilles.

=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D:$D;0))=VRAI;"";INDEX('Base
toto'!A:A;EQUIV($E7;'Base toto'!$D:$D;0)))

Le problème est que lorsque je mets à jour la base toto, quand je
renseigne le champ impliqué par la cellule $e7, il passe un temps d'une
dizaine de secondes pour metter à jour.
Comment pourrait on améliorer cela.

Merci











Avatar
Jacky
Re...
mais j'ai quelques erreurs qui subsistent.



ÞCALER('Base toto'!$D$1;;;NBVAL('Base toto'!$D:$D))

Exemple ici
http://cjoint.com/?kcudNAIZQL

--
Salutations
JJ


"Jol" a écrit dans le message de news:

J'ai en effet nommé les zones en leur donnant une taile + raisonnable et
l'amélioration est là
J'ai essayé de nommer en zone variable (ÞCALER(D$1;;;NBVAL(D:D)) mais
j'ai quelques erreurs qui subsistent.
Merci beaucoup

Cordialement

"Jacky" a écrit dans le message de news:

Re...
En terme de temps d'exécution ceci devrait déjà améliorer
=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D1:$D1000;0));"";INDEX('Base
toto'!A1:A1000;EQUIV($E7;'Base toto'!$D1:$D1000;0)))
Sinon avec des plages nommées et calculées si la longueur de la plage est
incertaine

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonjour,

Limiter la plage A:A et D:D aux lignes(800) nécessaire.

--
Salutations
JJ


"Jol" a écrit dans le message de news:
%
Bonjour,
Dans une appli j'ai la formule suivante qui met à jour 8 champs d'un
tableau qui comport environ 800 lignes et ceci dupliqué sur 10
feuilles.

=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D:$D;0))=VRAI;"";INDEX('Base
toto'!A:A;EQUIV($E7;'Base toto'!$D:$D;0)))

Le problème est que lorsque je mets à jour la base toto, quand je
renseigne le champ impliqué par la cellule $e7, il passe un temps d'une
dizaine de secondes pour metter à jour.
Comment pourrait on améliorer cela.

Merci















Avatar
Jacky
Re...
S'il faut redéfinir les plages dans chacune des feuilles
On peut procéder de cette façon
Dans le module de chaque feuille
'---------
Private Sub Worksheet_Activate()
ActiveWorkbook.Names.Add Name:="tata",
RefersTo:="=OFFSET($a$1,,,COUNTA($d:$d))"
ActiveWorkbook.Names.Add Name:="zone",
RefersTo:="=OFFSET($d$1,,,COUNTA($d:$d))"
End Sub
'------------

--
Salutations
JJ


"Jacky" a écrit dans le message de news:

Re...
mais j'ai quelques erreurs qui subsistent.



ÞCALER('Base toto'!$D$1;;;NBVAL('Base toto'!$D:$D))

Exemple ici
http://cjoint.com/?kcudNAIZQL

--
Salutations
JJ


"Jol" a écrit dans le message de news:

J'ai en effet nommé les zones en leur donnant une taile + raisonnable et
l'amélioration est là
J'ai essayé de nommer en zone variable (ÞCALER(D$1;;;NBVAL(D:D)) mais
j'ai quelques erreurs qui subsistent.
Merci beaucoup

Cordialement

"Jacky" a écrit dans le message de news:

Re...
En terme de temps d'exécution ceci devrait déjà améliorer
=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D1:$D1000;0));"";INDEX('Base
toto'!A1:A1000;EQUIV($E7;'Base toto'!$D1:$D1000;0)))
Sinon avec des plages nommées et calculées si la longueur de la plage
est
incertaine

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonjour,

Limiter la plage A:A et D:D aux lignes(800) nécessaire.

--
Salutations
JJ


"Jol" a écrit dans le message de news:
%
Bonjour,
Dans une appli j'ai la formule suivante qui met à jour 8 champs d'un
tableau qui comport environ 800 lignes et ceci dupliqué sur 10
feuilles.

=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D:$D;0))=VRAI;"";INDEX('Base
toto'!A:A;EQUIV($E7;'Base toto'!$D:$D;0)))

Le problème est que lorsque je mets à jour la base toto, quand je
renseigne le champ impliqué par la cellule $e7, il passe un temps
d'une
dizaine de secondes pour metter à jour.
Comment pourrait on améliorer cela.

Merci




















Avatar
Jol
J'ai sur la 1° feuille du classeur une base de données dans laquelle j'ai
nommé toutes les zones, en absolu cela fonctionne mais en zone dynamique ce
n'est pas le pied, donc la 1) solution sera concerné jusqu'à ce que je me
mette à Access.
Merci encore
Jol

"Jol" a écrit dans le message de news:

J'ai en effet nommé les zones en leur donnant une taile + raisonnable et
l'amélioration est là
J'ai essayé de nommer en zone variable (ÞCALER(D$1;;;NBVAL(D:D)) mais
j'ai quelques erreurs qui subsistent.
Merci beaucoup

Cordialement

"Jacky" a écrit dans le message de news:

Re...
En terme de temps d'exécution ceci devrait déjà améliorer
=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D1:$D1000;0));"";INDEX('Base
toto'!A1:A1000;EQUIV($E7;'Base toto'!$D1:$D1000;0)))
Sinon avec des plages nommées et calculées si la longueur de la plage est
incertaine

--
Salutations
JJ


"Jacky" a écrit dans le message de news:
%
Bonjour,

Limiter la plage A:A et D:D aux lignes(800) nécessaire.

--
Salutations
JJ


"Jol" a écrit dans le message de news:
%
Bonjour,
Dans une appli j'ai la formule suivante qui met à jour 8 champs d'un
tableau qui comport environ 800 lignes et ceci dupliqué sur 10
feuilles.

=SI(ESTERREUR(EQUIV($E7;'Base toto'!$D:$D;0))=VRAI;"";INDEX('Base
toto'!A:A;EQUIV($E7;'Base toto'!$D:$D;0)))

Le problème est que lorsque je mets à jour la base toto, quand je
renseigne le champ impliqué par la cellule $e7, il passe un temps d'une
dizaine de secondes pour metter à jour.
Comment pourrait on améliorer cela.

Merci