[XL 2007 VBA] pb fonction personnalisée

Fermé
marie - 2 mars 2010 à 18:53
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 2 mars 2010 à 21:20
Bonjour,

J'ai créé une fonction sous VBA (Public Function dans Module1) que j'utilise à plusieurs endroits dans une même feuille et dans plusieurs feuilles.

Quand j'appelle la fonction par "=mafonction", le résultat s'affiche correctement.
Mais si je copie la formule, ou si je modifie un élément qui intervient dans le calcul de ma fonction, le résultat ne s'affiche pas ou ne se met pas à jour. Du coup, je suis obligée de sélectionner chaque cellule de toutes les feuilles où j'utilise la fonction, de faire F2 et de cliquer sur ENTREE. C'est très lourd.

J'ai vérifié que "Calcul automatique" était bien sélectionné.
J'ai essayé en plaçant la macro "function" dans "ThisWorkBook", mais ça ne fonctionne pas mieux.

N'y a-t-il pas un moyen plus simple que de sélectionner individuellement chaque cellule pour avoir le calcul à jour ?

Merci par avance.
Marie

Configuration : OFFICE EXCEL 2007
A voir également:

1 réponse

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 213
2 mars 2010 à 21:20
Bonsoir,

Tout dépend comment a été conçue ta fonction.
Tu peux forcer sa réévaluation à chaque recalcul en mettant au début: application.volatile
Mais si tu l'utilises 1000 fois tout sera recalculé même si ce n'est pas necessaire.
Essaie de voir d'abord si c'est normal qu'elle ne soit pas réévaluée, selon les valeurs qu'elle utilise. Par exemple si tu as besoin d'une couleur de cellule regarde si tu ne peux pas récupérer l'info autrement (test d'une autre cellule, ..)

eric
0