ANS-0941 · AUTRES
Comment mettre en forme de manière conditionnelle une ligne entière dans Google Sheets à l’aide d’Apps Script
Automatisez la mise en surbrillance des lignes dans Google Sheets en fonction des valeurs des cellules à l'aide de Google Apps Script pour une organisation visuelle dynamique.
Solution courte
Bien que Google Sheets propose une mise en forme conditionnelle native pour des lignes entières, une approche programmatique alternative utilisant Google Apps Script peut offrir un contrôle plus personnalisé. Mettez en œuvre un script avec les déclencheurs « onEdit » et « onOpen » afin d’appliquer automatiquement des couleurs d’arrière-plan aux lignes en fonction de valeurs de cellules spécifiques, garantissant ainsi des mises à jour visuelles dynamiques à mesure que les données évoluent.
Scénario
Les utilisateurs ont souvent besoin de pouvoir distinguer visuellement des lignes entières dans Google Sheets en fonction de la valeur d’une cellule spécifique de cette ligne. Bien que la mise en forme conditionnelle native permette d’y parvenir, une solution programmatique peut s’avérer préférable en cas de logique complexe ou de besoins d’automatisation spécifiques, garantissant ainsi que les lignes soient mises en surbrillance de manière dynamique à mesure que les données sont mises à jour.
Solution
Google Sheets permet de mettre en surbrillance une ligne entière en fonction de la valeur d’une cellule à l’aide de la mise en forme conditionnelle native avec une formule personnalisée. Pour les cas nécessitant une automatisation plus avancée ou une logique spécifique pilotée par un script, Google Apps Script peut être utilisé pour mettre en surbrillance des lignes de manière dynamique. Le script suivant fournit une méthode permettant de mettre en forme les lignes de manière conditionnelle en fonction d’une valeur booléenne figurant dans la première colonne.Pour mettre en œuvre cette solution :
Ouvrez votre feuille Google Sheets.
Accédez à Extensions > Apps Script.
Remplacez tout code existant dans l’éditeur de script par le script suivant :
javascriptfunction onChange() { var sheet SpreadsheetApp.getActiveSheet(); var startRow 2; var endRow sheet.getLastRow(); for (var r startRow; r < endRow; r++) { colorRow(r); }}function colorRow(r){ var sheet SpreadsheetApp.getActiveSheet(); var dataRange sheet.getRange(r, 1, 1, 6); var data dataRange.getValues(); var row data[0]; if(row[0] true){ dataRange.setBackgroundRGB(192, 255, 192); } else { dataRange.setBackgroundRGB(255, 255, 255); } SpreadsheetApp.flush();}function onEdit(event){ colorRow(event.source.getActiveRange().getRowIndex());}function onOpen(){ colorAll();}Enregistrez le script.
La fonction
onEditdéclenchera automatiquement la fonctioncolorRowlorsqu’une cellule sera modifiée, appliquant ainsi une mise en forme en fonction de la valeur contenue dans la première colonne de la ligne modifiée. La fonctiononOpentente d’appelercolorAllà l’ouverture de la feuille. La fonctiononChange, qui nécessite un déclencheur installable, parcourt les lignes destartRowàendRowet applique la fonctioncolorRowà chacune d’entre elles. Les utilisateurs devront peut-être ajuster les valeurs destartRow,endRow, l’index de colonnerow[0]et la définition de la fonctioncolorAllafin de les adapter à leur structure de données et à leurs conditions spécifiques.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Autres
