Ralentissement dû à des ‘’Noms définis

Bonjour,

J’ai placé 6 à 7 Noms définis – avec des formules du genre =DECALER('Liste des membres'!$K$4;0;0;NBVAL('Liste des membres'!$K$4:$K$65536);1) - dans un fichier assez conséquent que j’utilise dans 10 à 15 formules et ça ralenti considérablement la macro Private Sub Workbook_Open(), de l’ordre de 4 secondes à 2 minutes !

Encore plus bizarre, si ce fichier est ouvert à l’écran lorsque j’ouvre un fichier semblable mais sans Noms définis, ça le ralenti également.

Est-ce un problème connu ? Y a-t-il un moyen de le contourner ?

Cordialement.

Bonjour,

Decaler() est volatile, et donc recalculé à chaque action.

Ce n'est pas le recalcul des 6 noms en lui-même qui doit prendre beaucoup de temps, mais plutôt son utilisation, les dépendants devant être recalculés à leur tour.

Tu dis 10 formules. Réellement 10 ou 10 x 10000 lignes ?

Donc voir pour optimiser ces formules utilisant ces noms.

Ou mettre ta BDD en Tableau pour utiliser la référence structurée de ta colonne.

eric

PS : ne pense pas utiliser indirect() à la place de Decaler(), elle est volatile également

Salut Eriiic,

Merci pour ta réponse et pour tes idées.

Non, réellement 10 formules

C'est vrai que je devrais une fois penser à transformer ma base en tableau, je vais y réfléchir.

Pour l'instant ton explication m'a donné l'idée de placer les instructions :

Application.Calculation = xlManual

Application.Calculation = xlAutomatic

en début et en fin de macro et de 4 secondes anciennement - avant l'utilisation des Noms définis - je suis passé à 2 secondes

Encore merci et très bonne journée.

Rechercher des sujets similaires à "ralentissement noms definis"