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 :

  1. Ouvrez votre feuille Google Sheets.

  2. Accédez à Extensions > Apps Script.

  3. 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();}
  1. Enregistrez le script.

  2. La fonction onEdit déclenchera automatiquement la fonction colorRow lorsqu’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 fonction onOpen tente d’appeler colorAll à l’ouverture de la feuille. La fonction onChange, qui nécessite un déclencheur installable, parcourt les lignes de startRow à endRow et applique la fonction colorRow à chacune d’entre elles. Les utilisateurs devront peut-être ajuster les valeurs de startRow, endRow, l’index de colonne row[0] et la définition de la fonction colorAll afin 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

Parler à un consultant