Désactiver le calcul automatique lors de l'exécution d'un fonction macro

Je n'ai pas trouvé de postes traitant de mon problème sur google sheets, si je me suis trompé, veuillez m'excuser.

Voici mon fichier : https://docs.google.com/spreadsheets/d/1jjID8l7V4Otq41-e_Nf4lajdH7cFXp0wesp7wMg-zvk/edit?usp=sharing

J'essaye de faire une boîte de Leitner automatique à destination des professeurs (c'est pour mon mémoire). Je précise que je n'y connais rien et que j'ai tout fait avec chatgpt, qui m'a énormément aidé, mais là, j'ai un problème insoluble pour lui, donc je me permets de demander de l'aide à des experts plus humains.

Dans appscript, vous trouverez une fonction appelée " EnregistrerMesValidations ".
Voici ce qu'elle est sensée faire :
1) dans la feuille nommée "Voir les questions du jour", elle repère les cellules où il est écrit "Validée", puis elle regarde le numéro dans la cellule au dessus et le prénom à gauche, puis elle va dans la feuille nommée "Boîtes", trouve la cellule contenant le bon numéro et le bon prénom, puis change la cellule à l'intersection des deux, selon la logique suivante : Boîte 1 devient Boîte 2 ; Boîte 2 devient Boîte 3 etc... (jusqu'à boîte 7). Enfin, dans la cellule juste en dessous (de celle contenant le numéro de la boîte), elle applique la date présente en cellule E7 de la feuille "Voir les questions du jour".
2) cette fois, elle cherche les cellules où il est écrit "Non validée". Elle fait globalement la même chose, à la différence que cette fois, elle change toute les boîtes correspondantes dans la feuille "Boîtes" par Boîte 1, quelque soit la boîte qu'il y a avait avant.

3) enfin, quand elle a terminé ça, elle retourne dans la feuille "Voir mes questions du jour", repère toutes les cellules avec "Validée" et "Non validée" et les remplace par "Non traité".

Le problème, c'est que les petits numéros dans les lignes 11, 13, 15 de la feuille "Voir les questions du jour" sont déterminés par une formule TRANSPOSE (exactement =TRANSPOSE('Thibault '!K2:K) ) et que cette formule s'automatise en même temps que la fonction " EnregistrerMesValidations ", ce qui crée un beau bordel et empêche que la fonction ne s'exécute correctement. Elle n'a le temps de traiter que la moitié des questions.

Cela, je le sais car j'ai essayé d'enlever =TRANSPOSE('Thibault '!K2:K) et j'ai mis manuellement les numéros dans les cellules de la ligne, et là, ça fonctionne très bien. J'ai aussi rajouté une fonction ValidéeTest (qui fait juste la première étape) avec des logs partout, et je constate que le problème est bien que la fonction TRANSPOSE s'automatise.

J'ai demandé à Chatgpt une solution pour désactiver ce calcul automatique le temps de l'exécution de la fonction, mais il sèche. Je suis aussi preneur d'une toute autre approche si vous en avez une !

Merci mille fois si vous avez lu jusque là. Et merci deux mille fois si vous avez une solution.

Bonjour,

Ou bien vous pouvez scinder votre script en plusieurs parties :

function script_1 () {
....
...
...
// quand tout est OK
script_2()
}

function script_2 () {
...
...
...}

Sinon, vous pouvez ne pas mettre de formule dans votre fichier et l'ajouter, à la fin de votre script (une fois que celui ci est terminé) :

funciton script_1 () {
...
...
...
sheet.getRange('A1').setFormula('=TRANSPOSE('Thibault '!K2:K)");
Rechercher des sujets similaires à "desactiver calcul automatique lors execution fonction macro"