Class Filter

Filtrer

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

Si la feuille ne comporte pas encore de filtre, créez-en un à l'aide de Range.createFilter().

Pour utiliser cette classe, vous devez d'abord accéder au filtre de la feuille de la grille à l'aide de Range.getFilter() ou 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() à partir de cette classe pour consigner la plage à laquelle le filtre s'applique.
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 la colonne n'a pas de valeur et de filtre qui lui sont appliqués.
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 en fonction de la colonne spécifiée, en excluant la première ligne (la ligne d'en-tête) de la plage à laquelle ce filtre s'applique.

Documentation détaillée

getColumnFilterCriteria(columnPosition)

Récupère les critères de filtre de la colonne spécifiée, ou null si la colonne n'a pas de valeur et de filtre qui lui sont appliqués.

Pour en savoir plus sur les critères de filtre, associez cette méthode aux méthodes du 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 avec indice 1 de la colonne. Par exemple, l'index de la colonne B est 2.

Renvois

FilterCriteria : critères de filtre.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à 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 au format A1, associez cette méthode à Range.getA1Notation().

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation correspondant à 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 correspondant à 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 avec indice 1 de la colonne. 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 correspondant à 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 l'outil de création de critères de filtre. avec SpreadsheetApp.newFilterCriteria(). Ajoutez ensuite des critères au compilateur. à l'aide de la classe FilterCriteriaBuilder. Une fois vos critères définis, définissez-les comme Paramètre filterCriteria de 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 avec indice 1 de la colonne. 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, supprime les critères de filtre 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 correspondant à 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 en fonction de la colonne spécifiée, en excluant la première ligne (la ligne d'en-tête) de la plage à laquelle ce filtre s'applique.

// 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 avec indice 1 de la colonne. Par exemple, l'index de la colonne B est 2.
ascendingBooleanSi la valeur est true, trie la plage filtrée dans l'ordre croissant. Si la valeur est false, trie la plage filtrée dans l'ordre décroissant.

Renvois

Filter : filtre pour le chaînage.

Autorisation

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

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