Lenteur calcul

Le
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
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
Jacky
Le #4965051
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" %
Bonjour,

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

--
Salutations
JJ


"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







Jol
Le #4964961
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"
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" %
Bonjour,

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

--
Salutations
JJ


"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











Jacky
Le #4964851
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"
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"
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" %
Bonjour,

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

--
Salutations
JJ


"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















Jacky
Le #4964761
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"
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"
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"
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" %
Bonjour,

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

--
Salutations
JJ


"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




















Jol
Le #4964631
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"
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"
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" %
Bonjour,

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

--
Salutations
JJ


"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















Publicité
Poster une réponse
Anonyme