Comptage du nombre de cellules colorées

Bonjour, je cherche une formule à appliquer sur feuille de calcul Google sheets qui permettrais de compter le nombre de cellules d'une même couleur

dans une colonne, j'ai essayé un peu de tout mais rien ne fonctionne.

Une bonne âme pour m'aider ?

Bonjour,

function nbSelonCouleur(range) {
  var r = SpreadsheetApp.getActiveRange();
  var adresse = r.getFormula().match(/(?<=\().*(?=;)/g)

  try{
    var f = SpreadsheetApp.getSheetByName(adresse.split('!')[0].replace("'",""));
    var adresse = adresse.split('!')[1];
  }
  catch(e){
    var f = SpreadsheetApp.getActiveSheet();
  }

  var couleurs = f.getRange(adresse).getBackgrounds();
  var couleur = r.getBackgrounds();
  var nb = 0;
  for (var i = 0; i < couleurs.length; i++)
    for (var k = 0; k < couleurs[i].length; k++)
      if ( couleurs[i][k] == couleur )
        nb++;
  return nb;
};

La couleur de référence est celle de la cellule comportant la formule :

=nbSelonCouleur(MARS_NDF!$F$8:$F;$A$1)

j'ajoute ici $A$1 qui est une case à cocher et qui permet de réactualiser le calcul

prends une copie https://docs.google.com/spreadsheets/d/1ZQojBTRPGizdsJL4Ezsa4_TYdMi3_uNGuFPDV7G4EOU/copy

Super, merci beaucoup pour le coup de main !

Bonjour ,

J'ai utilisé le code que tu as envoyé avec les mêmes syntaxes mais j'ai une erreur que je n'arrive pas à régler :

"Argument cannot be null:a1Notation (line13)."

Sachant que j'ai fais du copié collé de ton script je ne comprends pas d'où vient l'erreur.

La seule chose que change c'est que je compte le nombre de couleur sur la même feuille, voici ma formule :

=nbSelonCouleur('Planning EDMZI'!$AT$17:$AT,$B$5)

Merci

Bonjour,

  1. où se trouve A1Notation dans le script ?
  2. quelle est cette ligne 13
  3. qu'y a-t-il dans $B$5

le mieux serait de mettre un lien vers une copie simplifiée de ton fichier

Alors malheureusement c'est un fichier que je ne peux partager puisque c'est un fichier d'entreprise.

Voici le script :

function nbSelonCouleur(range) {
  var r = SpreadsheetApp.getActiveRange();
  var adresse = r.getFormula().match(/(?<=\().*(?=;)/g)

  try{
    var f = SpreadsheetApp.getSheetByName(adresse.split('!')[0].replace("'",""));
    var adresse = adresse.split('!')[1];
  }
  catch(e){
    var f = SpreadsheetApp.getActiveSheet();
  }

  var couleurs = f.getRange(adresse).getBackgrounds();
  var couleur = r.getBackgrounds();
  var nb = 0;
  for (var i = 0; i < couleurs.length; i++)
    for (var k = 0; k < couleurs[i].length; k++)
      if ( couleurs[i][k] == couleur )
        nb++;
  return nb;
};

Dans la case $B$5 il y a une case à cocher qui actualise le calcul.

Je viens d'utiliser le meme script sur un autre ordi et ça marche très bien !

J'ai utilisé le meme script sur un autre projet mais sur le meme ordi et ça ne marche pas ...

Donc je suppose (??) que ce fichier est en notation US ... si oui en ligne 3

var adresse = r.getFormula().match(/(?<=\().*(?=,)/g)

j'aurais dû le voir d'après ta formule en effet

=nbSelonCouleur('Planning EDMZI'!$AT$17:$AT,$B$5)

la , remplace le ;

Oui la version est bien en US !

Merci beaucoup pour ton aide cela à effectivement marché !

Rechercher des sujets similaires à "comptage nombre colorees"