Monsieur Excel
Pour tout savoir faire sur Excel !

30 janvier 2013

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].

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.