Class Filter

Filtre

Utilisez cette classe pour modifier les filtres existants sur les feuilles Grid, le type de feuille par défaut. Les feuilles de calcul en grille sont des feuilles ordinaires dont les données ne sont pas associé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 calcul en 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 sur la feuille active, puis utilise la méthode getRange() de cette classe pour consigner 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)FilterCriteriaRécupère les critères de filtrage de la colonne spécifiée ou null si aucun critère de filtrage n'est appliqué à la colonne.
getRange()RangeRécupère la plage à laquelle ce filtre s'applique.
remove()voidSupprime ce filtre.
removeColumnFilterCriteria(columnPosition)FilterSupprime les critères de filtrage de la colonne spécifiée.
setColumnFilterCriteria(columnPosition, filterCriteria)FilterDéfinit les critères de filtrage sur la colonne spécifiée.
sort(columnPosition, ascending)FilterTrie la plage filtrée par la colonne spécifiée, en excluant la première ligne (l'en-tête) de la plage à laquelle ce filtre s'applique.

Documentation détaillée

getColumnFilterCriteria(columnPosition)

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

Pour en savoir plus sur les critères de filtrage, enchaînez cette méthode avec les 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 à 1). Par exemple, l'index de la colonne B est 2.

Renvois

FilterCriteria : critères de filtrage.

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()

Récupère 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 filtrage 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 à 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 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 filtrage sur la colonne spécifiée. Commencez par créer l'outil de création 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 que vous avez créé vos critères, 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 à 1). Par exemple, l'index de la colonne B est 2.
filterCriteriaFilterCriteriaCritères de filtrage à définir. Si vous définissez les critères sur null, les critères de filtrage 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 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, en excluant la première ligne (l'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 à 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 avec un ou plusieurs des champs d'application suivants:

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