Google Sheets Lenteur avec script Googlesheet ...

  • Initiateur de la discussion Initiateur de la discussion icekio
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

icekio

XLDnaute Nouveau
Je me bats toujours avec mon script Googlesheet, qui désormais fonctionne MAIS

1- il est vraiment très, très lent (plusieurs secondes pour décocher une croix ...)
2- parfois, il ne se déclenche pas du tout !

Je pense que le mieux serait de passer par un "select case" pour remplacer les boucles FOR (car dans mon exemple il n'y en aura que 2, mais en réalité j'en aurai plus de 10 par feuille) ... je l'avais fait dans mon fichier excel en VBA, mais là sur googlesheet je ne sais pas si ça existe ...
J'ai aussi essayer de passer par un var ligne = range.getRow (); pour éviter que la boucle ratisse toutes les lignes à chaque fois, mais je n'ai pas vu de gain de temps.
Donc, j'ai toujours besoin d'aide ...
Je copie le fichier modifié : https://docs.google.com/spreadsheets/d/1nO4ed0UEc8LrspDGltqQ8wffpCWLisHHUGx2ZIMQiW4/edit#gid=0
J'espère trouver de l'aide
------------------------
function myFunction() {

};

function onEdit(e) {
var feuille = SpreadsheetApp.getActiveSheet();
var cours, joueurs, coach, motifannul
//var range = SpreadsheetApp.getActiveSheet().getActiveRange();
//var ligne = range.getRow();

for (var i=3;i<43;i++) {

for (var j=4;j<12;j++) {
cours = feuille.getRange(i,3);
coach = feuille.getRange(i,2);
motifannul = feuille.getRange(i,4);
joueurs = feuille.getRange(i,j+1);

if (!cours.getValue()) {
coach.setValue('REMPLIR');
}

if (cours.getValue()) {
motifannul.setValue('REMPLIR');
}

if (!cours.getValue() && joueurs.getValue()) {
joueurs.setValue('FALSE');
}
}



for (var j=16;j<24;j++) {
cours = feuille.getRange(i,15);
coach = feuille.getRange(i,14);
motifannul = feuille.getRange(i,16);
joueurs = feuille.getRange(i,j+1);

if (!cours.getValue()) {
coach.setValue('REMPLIR');
}

if (cours.getValue()) {
motifannul.setValue('REMPLIR');
}

if (!cours.getValue() && joueurs.getValue()) {
joueurs.setValue('FALSE');
}
}
}
}
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour