Class Filter

Filtre

Utilisez cette classe pour modifier les filtres existants sur les feuilles Grid, qui sont le type de feuille par défaut. Les feuilles de grille sont des feuilles standards contenant des données qui 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 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 s'applique le filtre

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|nullRenvoie 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 filtre sur la colonne spécifiée.
sort(columnPosition, ascending)FilterTrie la plage filtrée selon la colonne spécifiée, en excluant la première ligne (ligne d'en-tête) de la plage à laquelle ce filtre s'applique.

Documentation détaillée

getColumnFilterCriteria(columnPosition)

Renvoie 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 filtre, chaî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 à 1). Par exemple, l'index de la colonne B est 2.

Renvois

FilterCriteria|null : critères de filtrage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes 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 en notation 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 scopes 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 scopes 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 : le filtre, pour le chaînage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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

setColumnFilterCriteria(columnPosition, filterCriteria)

Définit les critères de filtre sur 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. Une fois vos 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 à 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, les critères de filtre sont supprimés de la colonne spécifiée. Vous pouvez également utiliser removeColumnFilterCriteria(columnPosition).

Renvois

Filter : le filtre, pour le chaînage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes 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, en excluant 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 à 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 : le filtre, pour le chaînage.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :

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