Merci pour l'aide
"pascal duterme" <pascal...@pi.be> a écrit dans le message news:
93akmf$9rr$1...@news.planetinternet.be...
Si la solution que te donnes Laurent D (de Marseille) n'est pas suffisante (ça arrive
les calculs automatiques mais récalcitrants avec des fonctions VBA), plutôt que de
retaper ta formule, essaye Ctrl+Alt+F9.
Ce raccourci clavier (que j'ai appris du grand chef à 3 plumes) force le recalcul du
classeur et il m'a maintes fois dépanné.
Et puis, je ne sais pas si tu es dans ce cas, mais même avec le cacul automatique
activé, Excel ne met pas à jour les résultats des formules dans certains cas (par ex
lorsqu'un résultat dépend de cellules qui sont dans des colonnes ou lignes
quelquefois masquées, quelquefois affichées).
FS
pascal duterme a écrit :
--
Frédéric Sigonneau [né un Sans-culottide !]
Gestions de temps : http://perso.wanadoo.fr/frederic.sigonneau
En complément au 3 réponses précédentes, tu pourrais peut-être construire ta fonction
différemment.
Ci-dessous une réponse que j'ai faite à un problème similaire :
--------------------------------------------------------------------------
Es-tu obligé de passer par une fonction volatile ?
Si tu as déclaré ta fonction en volatile, c'est que celle-ci teste un changement de format
de cellule... ou les cellules/plage qui entre dans le calcul de ta fonction ne sont pas dans
ses paramètres (arguments) d'entrée
Ci-dessous, deux exemples faisant la somme de la plage "A1:A10":
Sur une feuille :
En B1 : =sommeplage1()
En B2 : =sommeplage2(A1:A10)
Sur un module :
Function SommePlage1()
Application.Volatile True
SommePlage1 = Application.WorksheetFunction.Sum(Range("A1:A10"))
End Function
Function SommePlage2(Plage)
SommePlage2 = Application.WorksheetFunction.Sum(Plage)
End Function
Dans SommePlage1, on est obliger de mettre "Application.Volatile True" si l'on veut
que la fonction se recalcule un jour.
La fonction SommePlage2, se recalcule automatiquement à chaque fois qu'au moins un de ses
arguments d'entrée change.
Si en E1 tu mets une valeur quelquonque, la fonction SommePlage1 se recalculera inutilement,
car son résultat ne changera pas ; par contre SommePlage2 ne se recalculera pas.
En résumé, mieux vaut passer tous les arguments nécessaires au calcul de la fonction, même
s'ils sont nombreux, plutôt que de la déclarer volatile.
A+
Benead
--------------------------------------------------------------------------
pascal duterme a écrit :