Script : temps d'exécution très très lent

Bonjour,

Je constate que le script qui fonctionnait parfaitement et rapidement cet a.midi est désormais très très lent. Il finit par s'exécuter mais le délai est rédhibitoire.

Ce que j'ai fait ce soir : partage du fichier avec un autre compte google (droit d'éditeur). Depuis ce dernier j'ai créé une copie que j'ai renommée. Depuis cette manip le script est à l'extrême ralenti tant la copie que l'original sur le compte initial.

De plus, depuis le compte où j'ai créé le fichier (https://docs.google.com/spreadsheets/d/11HIs5Vu5PKrNBsP2lcUw-gEwh_WUW1jTxDlaEIjIjI4/edit?usp=sharing) je n'ai plus accès à "gérer les macros" dans le menu déroulant extension.

Qu'est-ce que j'ai pu rater ?

Les formules sont très gourmandes et peuvent ralentir le fonctionnement de ton script.

Tu peux accélérer en adaptant les formules à tes besoins...

Par exemple, tu limites la taille au nombre max de lignes que tu penses devoir utiliser ( A6:A200 et A2:I200):

=byrow(A6:A200;lambda(n;SIERREUR(query('liste des pb'!A2:I200;"select count(I) where (I = 'TA' or I = 'ta') and C = '"&n&"' Label count(I)'' ";0);"")))

ok, j'ai tenté de réduire : A6:A50 mais la lenteur persiste. Du coup j'ai mis les formules entre parenthèses puis testé à nouveau le script et là ça fonctionne.

Les formules sont efficaces mais exigeantes. Pour le temps de la récup des livres je vais les laisser off, je les réactiverai ensuite.

Merci.

Bonjour,

Parfois des scripts créent des lignes / colonnes, parfois des dizaines de milliers, tu peux vérifier et supprimer s'il y en a de trop.

Toujours concernant les scripts, les code de type OnEdit et ceux ayant pour déclancheur "à chaque modification" peuvent aussi être source de ralentissements (il vaut mieux trouver une parade, avec un bouton par ex, ou déclencheur horaire).

Pour finir sur les scripts, il existe un moyen de vérifier le temps d'exécution, au début mets :

var start = new Date();

Puis à la fin :

    var end = new Date();
    var executiontime = end - start;
    Logger.log(executiontime)

Si ce ne sont pas les scripts qui sont la cause des ralentissements, ce doit être les formules et là, il faut y aller étape par étape et tenter de les optimiser.

PS : attention à la mise ne forme conditionnelle, c'est le meilleur moyen de plomber un fichier.

Rechercher des sujets similaires à "script temps execution tres lent"