Condition si une plage contient une couleur spécifique

Résolu
mafia97231 Messages postés 28 Statut Membre -  
mafia97231 Messages postés 28 Statut Membre -

Bonjour à tous,

Je cherche à réaliser un script me permettant de mettre en forme une cellule cible si dans ma plage de référence se trouve une cellule avec une couleur de fond spécifique.

Ainsi, si une cellule de ma plage 'A1:E1' a un fond rouge donc D1 prends la valeur 'ALERTE' avec une police rouge. Sinon, D1 prends la valeur 'OK' avec une police verte.

Le code suivant ne fonctionne pas :

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();

const red = '#ff0000';
const green = ''#00ff00';

var referenceRange = sheet.getRange('A1:E1');
var rangeColor = referenceRange.getBackgroundsColors();
var targetRange = sheet.getRange('D1');

  if (rangecolor === red)
{
targetRange.setFontColor(red).setValue('ALERTE')
} 
else
{
targetRange.setFontColor(green).setValue('OK')
};

Une solution ?


Windows / Chrome 105.0.0.0

A voir également:

1 réponse

mafia97231 Messages postés 28 Statut Membre 2
 

Le problème venait de la syntaxe de 'getBackgroundColor'.

le bon code :



function myFunction() {

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();

const red = '#ff0000';
const green = '#00ff00';

var referenceRange = sheet.getRange('A1:E1');
var rangeColor = referenceRange.getBackgroundColor() ;
var targetRange = sheet.getRange('D1');

if (rangeColor === red)
{
targetRange.setFontColor(red).setValue('ALERTE')
} 
else
{
targetRange.setFontColor(green).setValue('OK')
};
}

Merci, à bientôt.

1