Comment trouver ou mettre en surbrillance toutes les cellules validées dans Google Sheets?

2

Ma feuille de calcul contient plusieurs cellules sur lesquelles une validation a été appliquée, mais il serait bien de les revérifier ou de passer de la validation à une cellule complémentaire. Après une recherche sur Google et une recherche dans l'interface graphique de la page Web, il n'était pas évident de savoir comment toutes les cellules disposant d'une validation pouvaient être trouvées. Existe-t-il un moyen de mettre en surbrillance ou de répertorier toutes les cellules pour lesquelles une validation a été appliquée?

Noctis Skytower
la source
il n'y en a pas.
user0

Réponses:

1

Comme je peux le constater, vous avez besoin d’un rapport sur toutes les cellules avec des règles de validation des données.

Le code suivant crée la feuille avec le nom 'dataValidation report' dans la feuille de calcul active et y place un petit rapport.

function genDataValidationReport() {

  var res = Sheets.Spreadsheets.get(SpreadsheetApp.getActive().getId(), {
    fields: 'sheets(properties(title),data(rowData(values(dataValidation))))',
    includeGridData: false
  });

  var out = [];

  for (var i = 0; i < res.sheets.length; i++) {
    Logger.log(res.sheets[i].properties.title);
    var rowData = res.sheets[i].data[0].rowData || [];
    for (var row = 0; row < rowData.length; row++) {
      var values = rowData[row].values || [];
      for (var column = 0; column < values.length; column++) {
        if (values[column].dataValidation)
          out.push([res.sheets[i].properties.title, SpreadsheetApp.getActive().getSheetByName(
              res.sheets[i].properties.title).getRange(row + 1, column + 1).getA1Notation(),
            values[column].dataValidation.condition.type
          ]);
      }
    }
  };
  var outTitle = 'dataValidation report';
  var outSheet = SpreadsheetApp.getActive().getSheetByName(outTitle);
  if(!outSheet)
    outSheet = SpreadsheetApp.getActive().insertSheet(outTitle);
  outSheet.clearContents().getRange(1, 1, out.length, out[0].length).setValues(out);
}

Assurez-vous que le service avancé Google Sheets doit être activé et incluez les instructions ou une référence pour le faire.

entrez la description de l'image ici

contributorpw
la source
1
Je pense que vous devez mentionner que le service avancé Google Sheets doit être activé et inclure les instructions ou une référence à cet effet.
Rubén
0

Les indicateurs visibles des cellules auxquelles la validation des données est appliquée sont:

  • Bouton déroulant
  • L'indicateur de données invalide

Si les indicateurs ci-dessus ne sont pas affichés, vous pouvez utiliser un module complémentaire, un script Google Apps ou l'API Google Sheets pour rechercher ces cellules soit pour appliquer une mise en forme spéciale, soit pour générer un rapport sur ces cellules.

Rubén
la source