Macro : formule faisant référence à une autre feuille avec un nom variable

Bonjour,

J'ai un fichier Sheets qui contient 52 feuilles, une par semaine nommées S1 à S52. Pour faire le cumul depuis le début de l'année, j'aurais besoin de programmer une formule dans une macro me permettant d'additionner le chiffre d'affaire de la semaine en cours (sur la feuille active) avec le cumul des semaines précédentes (récupéré sur la feuille S-1). Mon code ressemble à ça :

for (semaine=2;semaine<53;semaine++){

var feuille = document.getSheetByName("S" + semaine);

feuille.getRange('B25').activate();

feuille.getCurrentCell().setFormula('=IF(B3<>"";B3+\'S1\'!B25;"")');

}

Mais le 1 qui est souligné dans la formule devrait être une variable de valeur semaine-1. J'ai essayé plein de choses avec le "+" comme dans getSheetByName, du style :

feuille.getCurrentCell().setFormula('=IF(B3<>"";B3+\'S'+semaine-1+'\'!B25;"")');

mais impossible d'obtenir la formule voulue, à chaque fois j'obtiens =Nan'!B25;""). Quelqu'un aurait une idée de la syntaxe à utiliser pour que la formule s'affiche correctement et fonctionne?

Merci beaucoup.

Cordialement,

alnilam

Bonjour,

Mais le 1 qui est souligné dans la formule devrait être une variable de valeur semaine-1. J'ai essayé plein de choses avec le "+" comme dans getSheetByName, du style :

feuille.getCurrentCell().setFormula('=IF(B3<>"";B3+\'S'+semaine-1+'\'!B25;"")');

Ajoute des () autour de semaine - 1 :

feuille.getCurrentCell().setFormula('=IF(B3<>"";B3+\'S' + (semaine - 1) +'\'!B25;"")');

Ou une alternative :

feuille.getCurrentCell().setFormula(`=IF(B3<>"";B3+'S${semaine - 1}'!B25;"")`);

Merci beaucoup, ça marche

Rechercher des sujets similaires à "macro formule faisant reference feuille nom variable"