From a9b048d4cf69e49cfdcc71adbc03bcaa5ab91c3a Mon Sep 17 00:00:00 2001 From: laurentbarontini Date: Fri, 29 May 2026 07:36:06 +0200 Subject: [PATCH] Auto-calculation: formulas recalculate on cell change - Template: calcMode=auto, calcOnSave=1 - VBA: removed xlCalculationManual, added ForceRefresh macro (clears cache + Application.Calculate for manual DB refresh) - Workflow: change Setup!B6:B9 -> formulas recalculate automatically Co-Authored-By: Claude Sonnet 4.6 --- .../excel_api/GLAccountsExcelApi.bas | 11 +++++------ .../GL_Accounts_Client_Template.xlsx | Bin 8724 -> 8743 bytes 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/notes/accounting/excel_api/GLAccountsExcelApi.bas b/notes/accounting/excel_api/GLAccountsExcelApi.bas index 461b21e..019c6a5 100644 --- a/notes/accounting/excel_api/GLAccountsExcelApi.bas +++ b/notes/accounting/excel_api/GLAccountsExcelApi.bas @@ -70,11 +70,11 @@ End Sub ' ---- Setup ---- -' A lancer une seule fois apres import du module. -' Passe Excel en calcul manuel : les formules ne se recalculent que sur F9. -Public Sub SetManualCalculation() - Application.Calculation = xlCalculationManual - MsgBox "Calcul manuel actif. F9 = recalculer toutes les formules GL.", vbInformation +' Vide le cache pour forcer un rafraichissement DB au prochain recalcul. +' Utile si les donnees ont change cote serveur. +Public Sub ForceRefresh() + ClearGLApiCache + Application.Calculate End Sub ' ---- Mode macro : RefreshGLApi ---- @@ -100,7 +100,6 @@ Public Sub RefreshGLApi() Application.EnableEvents = False Application.ScreenUpdating = False - Application.Calculation = xlCalculationManual Dim company As String Dim account As String diff --git a/notes/accounting/excel_api/GL_Accounts_Client_Template.xlsx b/notes/accounting/excel_api/GL_Accounts_Client_Template.xlsx index 81f0a15c1673a6343df8dc9f40c4dff5bf55e460..42fe8a939098bbb5486599d269349cfda5003fae 100644 GIT binary patch delta 6036 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 delta 6028 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