2 votes

La fonction TODAY() de MS Excel 2013 ne se met pas à jour sauf si le fichier source est ouvert.

Je utilise la fonction TODAY() dans une feuille de calcul Excel qui est accédée à l'aide de MATLAB (c'est-à-dire que je ne lis pas la feuille de calcul directement). Maintenant, je dois ouvrir le fichier Excel juste pour mettre à jour la fonction TODAY(), et cette méthode est un goulot d'étranglement dans mon flux de travail.

Je sais qu'il est possible de régler Excel pour mettre à jour automatiquement les cellules lors de l'ouverture sous l'onglet de calcul, mais apparemment cela ne s'applique pas à MATLAB (ou aux interfaces COM en général?). Quelqu'un peut-il me donner une idée de ce qui peut être fait ?

MODIFIER : Je utilise la commande 'xlsread' intégrée de MATLAB

0voto

agtoever Points 6124

Bien que cela puisse ne pas être ce à quoi vous vous attendez, cela fonctionne selon les spécifications.

REMARQUE : Les résultats des fonctions AUJOURDHUI et MAINTENANT changent uniquement lorsque la feuille de calcul est calculée ou lorsqu'une macro contenant la fonction est exécutée. Les cellules contenant ces fonctions ne sont pas mises à jour en continu.

Plus précisément dans votre cas : notez que "la feuille de calcul" fait référence à la feuille de calcul où la formule AUJOURDHUI() est située, et non à la feuille de calcul qui fait référence à cette feuille de calcul.

Quant à la deuxième partie de votre question, je pense que la meilleure solution est d'écrire une macro VBA qui recalcule la feuille de calcul. Selon cet article, il devrait être possible d'appeler une macro Excel depuis MATLAB (code copié de l'article lié) :

% Créer un objet.
ExcelApp = actxserver('Excel.Application');

% Ouvrir le fichier
ExcelApp.Workbooks.Open(fullfile(pwd,'\monFichier.xls'));

% Exécuter Macro1, définie dans "ThisWorkBook"
ExcelApp.Run('ThisWorkBook.Macro1');

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X