Class Filter

Filtre

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

Si aucun filtre n'existe encore dans 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 feuille de grille à l'aide de Range.getFilter() ou Sheet.getFilter().

Utilisations courantes

Supprimer un filtre

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

Obtenir la plage à laquelle le filtre s'applique

L'exemple ci-dessous récupère le filtre de la feuille active, puis utilise la méthode getRange() de cette classe pour enregistrer la plage à laquelle le filtre s'applique.
const ss = SpreadsheetApp.getActiveSheet();
// Gets the existing filter on the active sheet.
const 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)FilterCriteria|nullObtient 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()RangeObtient la plage à laquelle ce filtre s'applique.
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 par la colonne spécifiée, à l'exclusion de la première ligne (ligne d'en-tête) de la plage à laquelle ce filtre s'applique.

Documentation détaillée

getColumnFilterCriteria(columnPosition)

Obtient 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 obtenir plus d'informations sur les critères de filtre, enchaînez cette méthode avec des méthodes de la classe FilterCriteria.

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

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne (indexée à partir de 1). Par exemple, l'index de la colonne B est 2.

Renvois

FilterCriteria|null : critères de filtre.

Autorisation

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

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

getRange()

Obtient la plage à laquelle ce filtre s'applique.

// Gets the existing filter on the active sheet.
const ss = SpreadsheetApp.getActiveSheet();
const 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, enchaînez cette méthode avec Range.getA1Notation().

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec 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.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.remove();

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec 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.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.removeColumnFilterCriteria(2);

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne (indexée à partir de 1). Par exemple, l'index de la colonne B est 2.

Renvois

Filter : filtre, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec 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 compilateur de critères de filtre à l'aide de SpreadsheetApp.newFilterCriteria(). Ajoutez ensuite des critères au compilateur à l'aide de la classe FilterCriteriaBuilder. Une fois les critères créés, définissez-les comme paramètre filterCriteria pour cette méthode.

const ss = SpreadsheetApp.getActiveSheet();
const 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 (indexée à partir 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, ils sont supprimés de la colonne spécifiée. Vous pouvez également utiliser removeColumnFilterCriteria(columnPosition).

Renvois

Filter : filtre, pour l'enchaînement.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec 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 par la colonne spécifiée, à l'exclusion de la première ligne (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.
const ss = SpreadsheetApp.getActiveSheet();
const filter = ss.getFilter();
filter.sort(2, true);

Paramètres

NomTypeDescription
columnPositionIntegerPosition de la colonne (indexée à partir 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 l'enchaînement.

Autorisation

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

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