Re : La devinette du jour
Bonsoir
Désolé pour la lenteur de la réponse.
* En validant dans une cellule (A1) la formule =ALEA(), un valeur quelconque est retournée, la formule ayant comme effet de lancer un événement "Calculate". Ce qui est normal, une formule ayant été validée.
A noter : chaque entrée d'une donnée dans une autre cellule, changera la valeur en A1.
* Passons à la déclaration un "nom" (exemple : XLD) avec "fait référence à :" la formule =ALEA(), la validation de la boîte va aussi réactualiser la valeur en A1
* Pour visualiser le contenu du nom définit, on écrit dans une cellule B1 la formule =XLD. Les formules A1 et B1 seront recalculées.
Rien de révolutionnaire jusque là, et cela n'explique pas la différence, c'était pour placer les bases de ce qui va suivre.
La différence se trouve dans l'appel du résultat de la valeur retournée.
* Si en A2, on écrit la formule =A1. A2 sera égale à la nouvelle valeur de la cellule A1. Ce qui voudrait dire que la formule A1 n'est calculée qu'une seule fois par événement "Calculate".
* Procédons de la même manière pour le "nom" XLD, pour cela en B2 on écrit la formule =XLD. Après validation on aura dans la colonne B, deux valeurs distinctes.
Ce qui sous entend que le "nom" XLD est recalculé à chaque appel de son contenu.
* Un autre test, en B3, on écrit la formule = B2, B3 sera identique à B2.
Voilà pour la différence,
Ce qui voudrait dire, (au désarroi de beaucoup de monde), qu'il est donc préférable d'écrire le maximum de formules dans les cellules, et de décomposer au maximum les formules.
Quel intérêt ?
Par exemple une multitude de formule de RECHERCHE est à remplacer par une cellule (C1) contenant le résultat de la fonction EQUIV(...;...:...;0), puis les valeurs sont retournées par la fonction INDEX(...:...;C1;1), il n'y aura donc plus qu'une seule recherche de valeur.
On peut aussi supposer qu'Excel remplace dans son tableau virtuel des formules à calculer, le "nom" par la formule écrite en référence, ce qui l'obligerait à la recalculer comme une formule normale.
Sincèrement j'aurai préféré avoir un échange d'idée, mais cela n'a pas été le cas.😡
@+Jean-Marie