"forcer" le calcul automatique sur une zone "oubliée" par excel

  • Initiateur de la discussion Initiateur de la discussion l0renz0
  • 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 !

l0renz0

XLDnaute Nouveau
Bonjour,

Je bute sur le problème suivant: dans mon classeur, j'ai une feuille template que je réplique au fil de mes besoins et une feuille de synthèse.
Cette feuille de synthèse fait appel à des fonctions VBA pour collecter les infos des différentes feuilles existantes et les synthétiser.
Lorsque je modifie un champ d'une des feuilles template, la feuille de synthese n'est pas rafraichie (j'imagine que c'est parce que le champ n'est pas passé en parametre dans mes fonctions).
Je veux absolument conserver le mode calcul automatique mais ne connaissant pas le nombre de feuilles à l'avance, je ne sais pas trop comment faire.
Merci d'avance pour votre aide.

Laurent
 
Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

Bonjour,

Ajouter dans les fonctions VBA, en première ligne sous la ligne Function Bidule(....):

Code:
Application.Volatile

A+
[Edit] Bing 1 du jour Bruno😀
 
Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

Bonjour l0renz0

Dans ta feuille de synthèse, tu utilises des fonctions VBA,
est-ce que dans ces fonctions tu as l'instruction au début :
Code:
Application.Volatile
Si ce n'est pas le cas, il faut la rajouter

Tu ne devrais plus avoir de problème par la suite

A+
 
Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

Bonjour L0renz0

Sans connaitre les fonctions Vba censées rafraichir ta feuille synthese , je ne vois pas bien comment on peut t'aider !!!

Edit: Salut hasco Salut Bruno
 
Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

Je m'améliore un peu, j'ai trouvé une solution 🙂

Private Sub Worksheet_Activate()
Application.Calculation = xlCalculationManual
Range("D😀").Calculate
Application.Calculation = xlCalculationAutomatic
End Sub

J'ai essayé un "ActiveSheet.Calculate" ainsi qu'un "Calculate" seul, sans succés. Mais, le fait de referer explicitement la zone à recalculer n'est pas trop génant.

a+

laurent
 
Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

Essai de "Application.volatile" non concluant :-(
Faut-il le preciser dans toutes les fonctions que j'ai défini ou uniquement celles qui sont appelées depuis les cellules excel ?
 
Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

je joins un exemple; il peut sembler débile mais c'est juste pour illustrer ...
J'aimerai que le resultat de la fonction pomme() de la feuille sum-up se mette à jour automatiquement
 

Pièces jointes

Re : "forcer" le calcul automatique sur une zone "oubliée" par excel

Bonjour à tous

Sinon en déclarant tout simplement ta fonction en Public comme cela devrait l'être 🙄
Pas besoin de "Calculate"

Code:
Public Function pomme() As Integer
  Dim pomme_sheet As Object
  Dim total As Integer
  ' Permet d'exécuter la fonction à chaque modification
  Application.Volatile
  
  total = 0
  
  For Each pomme_sheet In Worksheets
    If InStr(pomme_sheet.Name, "pomme") = 1 Then
      total = total + pomme_sheet.Range("qty")
    End If
  Next
  
  pomme = total
End Function

A+
 
- 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
Retour