Fonction volatile ou non ?
Par défaut, une fonction
personnalisée n’est pas « volatile ». Cela signifie qu’elle ne se
recalcule pas automatiquement si l’un de ses arguments a changé : pour
qu’elle se recalcule, il faut soit l’éditer (par exemple la revalider), soit
effectuer un calcul total, donc avec [Ctrl]-[Alt]-[F9] plutôt que seulement [F9].
Nous avons une série de valeurs aléatoires en A1:A5. Quand nous lançons une nouvelle série de valeurs en faisant [F9], la valeur de C1 s’actualise, mais pas celle de C2, comme on peut le constater ci-dessus.
Si l’on veut que cette
fonction se recalcule en permanence, il faudrait – en ôtant l’apostrophe
actuelle – activer la commande Application.Volatile qui est pour le moment
entrée seulement comme commentaire dans la fonction Somme_2.
Nous avons construit un petit
exemple pour illustrer cela. Dans cet exemple, nous avons saisi en A1:A5 la formule =ent(100*alea()) et reproduit en colonne
D les formules de la colonne C.
Nous avons une série de valeurs aléatoires en A1:A5. Quand nous lançons une nouvelle série de valeurs en faisant [F9], la valeur de C1 s’actualise, mais pas celle de C2, comme on peut le constater ci-dessus.
Remarque 1 – Si l’on fait [Ctrl]-[Alt]-[F9]
pour actualiser, le problème est résolu temporairement.
Remarque 2 – Si l’on réactive
la commande Application.Volatile de la fonction Somme_2, le problème de volatilité est résolu
de façon définitive.