Actualiser un filtre Google Sheets avec Apps Script
Le code suivant permet de forcer l'actualisation d'un filtre Google Sheets pour mettre à jour les données filtrées après les avoir modifiées.
Exemple d'utilisation
Voici l'exemple d'un filtre Google Sheets qui filtre les données dont la référence contient -US- :
Si l'on modifie maintenant la valeur de l'article 11, les résultats du filtre ne seront pas automatiquement mis à jour :
function exemple() {
SpreadsheetApp.getActiveSheet().getRange('B12').setValue('U4VW6-US-901');
}
Pour mettre à jour les données du filtre (ou créer le filtre s'il n'existe pas encore ou a été supprimé), exécutez la fonction suivante :
function filtrer() {
// Source : https://www.sheets-pratique.com/fr/codes/actualiser-filtre
const f = SpreadsheetApp.getActiveSheet();
const filtre = f.getFilter() ?? f.getRange('A:C').createFilter();
filtre.setColumnFilterCriteria(2, SpreadsheetApp.newFilterCriteria()
.whenTextContains('-US-')
.build()
);
}
Modifiez les colonnes ainsi que les paramètres de setColumnFilterCriteria en fonction de votre filtre (si vous ne savez pas comment le faire, vous pouvez enregistrer une macro pendant que vous créez manuellement le filtre pour avoir un exemple).
Le filtre est ensuite actualisé et affiche dans ce cas également l'article 11 :