Class Filter

Filtrer

Utilisez cette classe pour modifier les filtres existants sur les feuilles Grid, le type de feuille par défaut. Les feuilles de grille sont des feuilles ordinaires contenant des données qui ne sont pas connectées à une base de données.

Si aucun filtre n'existe encore sur la feuille, créez-en un à l'aide de Range.createFilter().

Pour utiliser cette classe, vous devez d'abord accéder au filtre de la grille à l'aide de Range.getFilter() ou de Sheet.getFilter().

Utilisations courantes

Supprimer un filtre

L'exemple ci-dessous récupère le filtre sur la feuille active et le supprime.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Removes the filter from the active sheet.
filter.remove();

Obtenir la plage à laquelle s'applique le filtre

L'exemple ci-dessous récupère le filtre sur la feuille active, puis utilise la méthode getRange() de cette classe pour consigner la plage à laquelle s'applique le filtre.
let ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Méthodes

MéthodeType renvoyéBrève description
getColumnFilterCriteria(columnPosition)FilterCriteriaRécupère les critères de filtre de la colonne spécifiée, ou null si aucun critère de filtre n'est appliqué à la colonne.
getRange()RangeRécupère la plage à laquelle s'applique ce filtre.
remove()voidSupprime ce filtre.
removeColumnFilterCriteria(columnPosition)FilterSupprime les critères de filtre de la colonne spécifiée.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterDéfinit les critères de filtre de la colonne spécifiée.
sort(columnPosition, ascending)FilterTrie la plage filtrée selon la colonne spécifiée, à l'exclusion de la première ligne (ligne d'en-tête) de la plage à laquelle s'applique le filtre.

Documentation détaillée

getColumnFilterCriteria(columnPosition)

Récupère les critères de filtre de la colonne spécifiée, ou null si aucun critère de filtre n'est appliqué à la colonne.

Pour en savoir plus sur les critères de filtre, associez cette méthode aux méthodes de la classe FilterCriteria.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
  // Gets the filter criteria applied to column B of the active sheet
  // and logs the hidden values.
let filterCriteria = filter.getColumnFilterCriteria(2).getHiddenValues();
console.log(filterCriteria);

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne avec un indice de 1. Par exemple, l'index de la colonne B est 2.

Renvois

FilterCriteria : critère de filtre.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getRange()

Récupère la plage à laquelle s'applique ce filtre.

// Gets the existing filter on the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Logs the range that the filter applies to in A1 notation.
console.log(filter.getRange().getA1Notation());

Renvois

Range : plage du filtre. Pour obtenir la plage en notation A1, associez cette méthode avec Range.getA1Notation().

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

remove()

Supprime ce filtre.

// Removes the filter from the active sheet.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.remove();

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

removeColumnFilterCriteria(columnPosition)

Supprime les critères de filtre de la colonne spécifiée.

// Removes the filter criteria from column B.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne avec un indice de 1. Par exemple, l'index de la colonne B est 2.

Renvois

Filter : filtre pour le chaînage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setColumnFilterCriteria(columnPosition, filterCriteria)

Définit les critères de filtre de la colonne spécifiée. Commencez par créer le générateur de critères de filtre à l'aide de SpreadsheetApp.newFilterCriteria(). Ajoutez ensuite des critères au compilateur à l'aide de la classe FilterCriteriaBuilder. Après avoir créé vos critères, définissez-le en tant que paramètre filterCriteria pour cette méthode.

let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
// Builds the filter criteria to use as a parameter for setColumnFilterCriteria.
const criteria = SpreadsheetApp.newFilterCriteria()
                             .setHiddenValues(["Hello", "World"])
                             .build();
// Sets the filter criteria for column C.
filter.setColumnFilterCriteria(3, criteria);

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne avec un indice de 1. Par exemple, l'index de la colonne B est 2.
filterCriteriaFilterCriteriaCritères de filtre à définir. Si vous définissez les critères sur null, ceux-ci sont supprimés de la colonne spécifiée. Vous pouvez également utiliser removeColumnFilterCriteria(columnPosition).

Renvois

Filter : filtre pour le chaînage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

sort(columnPosition, ascending)

Trie la plage filtrée selon la colonne spécifiée, à l'exclusion de la première ligne (ligne d'en-tête) de la plage à laquelle s'applique le filtre.

// Gets the existing filter and sorts it by column B in ascending order.
let ss = SpreadsheetApp.getActiveSheet();
let filter = ss.getFilter();
filter.sort(2, true);

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne avec un indice de 1. Par exemple, l'index de la colonne B est 2.
ascendingBooleanSi la valeur est true, la plage filtrée est triée par ordre croissant. Si la valeur est false, la plage filtrée est triée par ordre décroissant.

Renvois

Filter : filtre pour le chaînage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation associée à un ou plusieurs des champs d'application suivants:

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets