XL 2013 Recalculer feuille, calculate et F9 ne fonctionnent pas

louloubru

XLDnaute Junior
Bonjour,

j'ai besoin de créer un bouton qui me recalculerai la feuille sur laquelle il se trouve.
Dans cette feuille se trouve des fonctions que j'ai créé qui utilisent les données des autres feuilles. Donc lorsque je change des données dans les autres feuilles, j'aimerais pouvoir mettre à jour certains bilans.

j'ai déjà cherché sur les forums où F9 et la fonction calculate sont mentionnées. Mais cela ne fonctionne pas. Mes fonctions ne recalculent pas. Je suis obligée de me mettre dans ma cellule et d'appuyer sur entrée pour que le calcul se fasse. (et de tirer ensuite à l'ensemble de mes formule)

Auriez-vous une solution ?

Merci beaucoup,

Louise
 

Hasco

XLDnaute Barbatruc
Repose en paix
bonjour,

En première ligne du corps des fonctions que vous avez créées mettez: Application.Volatile
Vos fonctions seront recalculée à chaque fois. Sachez que suivant ce qu'elles calculent, cela peut être gourmand en temps et mémoire.

Cordialement
 

louloubru

XLDnaute Junior
bonjour,

merci beaucoup pour cette réponse, effectivement rien que pour l'enregistrement cela prend du temps ...
Cela permettra de déclencher le calcule avec un bouton dans lequel je mets "calculate" ? Parce que je ne souhaite pas que cela se recalcule à chaque fois ... (justement trop lent)
Je vous demande plutôt que d'essayer parce que j'ai peur de planter mon fichier.

Merci,

Louise
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans cette feuille se trouve des fonctions que j'ai créé qui utilisent les données des autres feuilles. Donc lorsque je change des données dans les autres feuilles, j'aimerais pouvoir mettre à jour certains bilans.

Si vous nous donniez directement un exemple de votre fichier nous pourrions peut-être avoir une chance de vous trouver une solution, plutôt que de tergiverser sur du virtuel.

A vous relire
 

louloubru

XLDnaute Junior
Ok ... on se calme : je ne sais jamais quoi faire : je donne un fichier, on me dit que ne va pas me faire tout le travail, je ne le donne pas, on me le demande...
Zen
J'utilise une fonction dans une feuille que j'ai moi même créé. La valeur ne se met à jour que si je me remets sur la cellule et appuie sur entrer. c'est assez laborieux, j'aimerai pouvoir déclencher le calcule par un bouton.
J'avais utilisé calculate associé à un bouton mais cela ne fonctionne pas.
Fichier exemple ci-joint.
 

Pièces jointes

  • test_calcul.xlsm
    15.3 KB · Affichages: 14

zebanx

XLDnaute Accro
Bonjour Roblochon ;) , louloubru

L'indication de Roblonchon en #2 fonctionne bien pourtant..

VB:
Function SommeParticipants(Evenement)
Application.Volatile
SommeParticipants = Application.Sum(Sheets("test").Cells.Find(Evenement, , xlValues).EntireColumn)
End Function
 

louloubru

XLDnaute Junior
Bonjour,
effectivement maintenant cela fonctionne !
La première fois quand j'ai essayé d'insérer Application.volatile cela a fait planté tout mon fichier ... et comme les fonction sont longues à calculer, j'ai cru que cela n'allait pas être possible mais cela fonctionne maintenant sans soucis ...

Excusez-moi de vous avoir sollicité de nouveau alors que la première possibilité fonctionnait.
Je garde l'exemple avec le tableau mais j'ab=vais du enlever les tableaux de mon fichier car cela ne faisiat pas bon ménage avec les boucles (je fais ça sur plusieurs feuilles donc besoin de boucles.)

Un grand merci,

Louise
 

louloubru

XLDnaute Junior
Bonjour,
oui mais c'est un fichier exemple ... celui sur lequel je travaille comporte plusieurs feuilles, j'ai rajouté des conditions dans ma fonction ...
Je ne pouvais pas vous le transmettre tel quel, je vous ai mis une version simplifiée pour qu'on comprenne le principe.

Je me réjouissais mais l'ouverture du fichier est beaucoup trop longue avec application.volatile ...
Il me faudrait vraiment un moyen de déclencher le calcul avec un bouton. (vos propositions le déclenchait automatiquement), pour que ce temps de calcul ne soit pris que lorsqu'on le souhaite et non à chauqe fois qu'on ouvre le fichier : ce n'est pas forcément nécessaire.

Je pense qu'à ce stade je me contenterai de cliquer sur les cellules et d’appuyer sur entrer à chaque fois que j'ai besoin d'une mise à jour mais c'est embêtant pour les autres utilisateurs du fichier...
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,
En situation réelle, pourquoi avez-vous besoin d'une fonction personnalisée (udf) pour faire une somme. Les outils et fonction excel sont normalement suffisant.
Si toutefois vous avez réellement besoin d' une udf essayez de cerner les plages dans laquelle vous voulez faire la recherche:

VB:
Dim plg As Range
Set plg = Sheets("Test").UsedRange ' Ne concerne que la plage de cellules utilisée sur la feuille
Application.Sum(Intersect(plg.Find(Evenement, , xlValues).EntireColumn, plg))

Comme nous n'avons pas tous les tenants ni les aboutissants il est difficile de vous trouver une solution efficace.

La macro que vous demandez pourrait être sur une cellule:

Code:
Sub   Rafraichir()
   Sheets("Test").Range("A3").Formula = "=SommeParticipants(""Quiz"")"
End Sub

Cordialement
 

louloubru

XLDnaute Junior
Bonjour,

le problème est qu'effectivement je ne peux pas vous donner tous les tennats et aboutissants ... J'ai déjà intégré usedrange dans ma fonction ...
j'ai en plusieurs sur la feuille (3), je voudrais qu'elles se lancent toutes.
La solution de sub rafraichir me semble donc compliquée.

Je pense que je vais laisser tomber...

J'ai fait une fonction personnalisée et je n'ai pas utilisé les fonctionnalités d'excel car je ne sais pas e faire sans vba : je fais par exmeple la somme des nouveau participants, un participants est considéré comme nouveau s'il n'y a pas de dans les autres colonnes, par catégorie ... J'ai beosin de boucles.
Bref je ne sais pas faire sans VBA. Cela fonctionne comme cela et je ne souhaite pas revenir là dessus.

Je cherche à savoir s'il n'y aurait pas un moyen de déclencher le calcul des fonctions dans une feuille par un bouton. Donc je vous ai mis un exemple de ma situation simplifiée mais trouver une solution sans fonction, ou en modifant profondément la fonction n'est pas mon objectif : cela me force à revoir toute la structure du fichier qui est lourd ...

Si ce n'est pas possible tanpis :(
 

Discussions similaires

Réponses
2
Affichages
373