J'essaie de faire clignoter une cellule (couleurs alternées blanc-rouge) lorsqu'elle contient le mot "rouge". J'ai actuellement le code suivant que j'ai trouvé, mais je ne sais pas comment le modifier pour rechercher particulièrement le mot à chaque fois qu'une modification est effectuée.
function onEdit(e)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var mysheet = ss.getSheetByName("LBACC17");
var activeCell = ss.getActiveCell().getA1Notation();
if( activeCell == "K2" )
{
for(var i=0;i<50;i++)
{
if( i%2 == 0 )
mysheet.getRange("K3").setBackground("RED");
else
mysheet.getRange("K3").setBackground("WHITE");
SpreadsheetApp.flush();
Utilities.sleep(500);
}
}
}
Cela vous permettra de vous mettre en route, mais vous voudrez probablement soit réduire le temps de boucle, soit cocher si/lorsque la cellule est remplacée par autre chose que "Rouge", sinon, il continuera de clignoter jusqu'à la boucle. complète.
function onEdit(event){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getSheets()[0]; // 0 == first sheet.
var ee = event.source.getActiveRange().getA1Notation();
if (ee == "K2") { // Check if edited cell is the one we're watching.
if (event.value == "Red"){ // If the value == "Red", do stuff.
var toggle = sh.getRange("K2");
for(var i=0;i<50;i++) {
if( i%2 == 0 )
toggle.setBackground("RED");
else
toggle.setBackground("WHITE");
SpreadsheetApp.flush();
Utilities.sleep(500);
}
}
}
}
Edit: Assurez-vous de bien prendre en compte la nature trop simpliste de ce script, comme l’a noté Ruben dans les commentaires ci-dessous. Il y a beaucoup de place pour que cela se concrétise pour traiter les cas Edge.