Fonction volatile : est-ce la meilleure méthode?

  • Initiateur de la discussion Initiateur de la discussion Nic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Nic

Guest
Bonjour à tous,

J'ai programmé un Add-In pour Excel 2000.
Ce Add-In servira pour la production journalière de rapport.

J'ai fait un modèle de rapport qui contient, entre autre, des appels à une des fonctions de mon Add-In.

Je veux que lorsque quelqu'un ouvrira le modèle, que toutes les cellules soient mise à jour (i.e. recalculées) avec le moins possible d'action à poser pour l'utilisateur.

J'ai alors découvert qu'on pouvait déclarer les fonctions d'un Add-In comme étant 'Volatile'. La mise à jour s'effectuerait alors en pressant simplement sur la touche 'F9'

Est-ce que c'est la meilleure façons de faire pour mettre mes données à jour ?

Je pose cette question, car j'ai pu lire sur certain groupe de discussion que c'était le mal d'utilisé l'attribut Volatile en enregistrant une fonction d'un Add-In.

Merci

Nic
 
Re:Fonction volatile : est-ce la meilleure méthode

Bonjour,

Je pense que tu n'as pas besoin de l'utiliser... Il faut simplement voir si le recalcul est fréquent ou pas.... Avec volatile, à chaque modification du classeur, il y a un recalcul ce qui peut vite plomber les perfs... Volatile, c'est pas 'mal' c'est juste un peu lourd... à éviter si possible
A+
 
Re:Fonction volatile : est-ce la meilleure méthode

Bonjour,

Selon mon expérience des fonctions et de volatile.

Si ta fonction est du type f(x,y) et que tes param x,y sont dans les arguments

pas besoin de volatile.

Par contre si f(x,y,z), arguments dans ta fonction = x, y mais qe le paramètre z est lu par le code, alors tu as besoin de volatile.

Exemple

Code:
function fonct1(x,y)

fonct1=x+y

end function

pas de volatile

Tandis que

Code:
function fonct2(x,y)

z=range('a1').value
fonct2=x+y+z

end function

alors volatile nécessaire.

A+
et bon courage
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour