La fonction indirect (c)
Ce
qui m’a amené à vous reparler de la fonction indirect(), c’est un sondage lancé par mon collègue MVP Charles Williams,
demandant aux experts Excel de répondre à un sondage pour identifier les
fonctions Excel les plus dangereuses.
Son
opinion est qu’il s’agit pour lui de la fonction indirect() :
Ses
reproches sur la fonction indirect() sont les suivants :
- elle est volatile
- elle est « single-threaded »
- elle renvoie facilement #REF !
- elle exige que le classeur référencé soit ouvert
- elle ne s’adapte pas aux modifications de structure
- elle est difficile à « débugger »
En fait, sans vous le dire, Excel construit un arbre de dépendance documentant comment les cellules d’un classeur dépendent les unes des autres. De grands modèles peuvent donc contenir de grandes chaînes de dépendance répertoriant des listes de milliers de cellules. C’est grâce à cela qu’Excel gère tous les calculs en connaissant ainsi l’ordre de priorité des calculs.
Le problème, c’est que les fonctions volatiles sont toutes recalculées chaque fois que vous modifiez le contenu d’une cellule quelconque d’un classeur ouvert quelconque.
Si donc un de vos classeurs contient des fonctions volatiles dans des cellules qui possèdent de grandes chaînes de dépendance, vous effectuez un grand nombre de recalculs superflus, ce qui peut ralentir votre modèle de façon très significative.
Nous reparlerons de la volatilité dans le prochain article…
Single-threaded
Ce terme peut faire un peu
peur, et il est mis à toutes les sauces dans les traductions en français :
L’option « multi-threaded »
a été introduite avec Excel 2007.
Elle vous permettra d’effectuer vos calculs plus rapidement si vous disposez d’un multi-processeur.
Elle vous permettra d’effectuer vos calculs plus rapidement si vous disposez d’un multi-processeur.
Pour en savoir plus,
lisez plutôt ce qu’en dit Microsoft :
https://support.microsoft.com/en-us/kb/2696967
0 Commentaire(s):
Enregistrer un commentaire
<< Accueil