Condition si une plage contient une couleur spécifique

Résolu
mafia97231 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
mafia97231 Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -

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 25 Date d'inscription   Statut Membre Dernière intervention   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