Cours Apps Script : feuilles et cellules

Après la récupération et la modification du contenu des cellules, nous allons nous intéresser aux autres actions que vous pouvez effectuer en lien avec les feuilles et les cellules.


Feuille

Dans les pages précédentes, nous avons souvent utilisé cette ligne de code :

const feuille = SpreadsheetApp.getActiveSheet();

Un objet de type Sheet est affecté ici à la constante feuille, ce qui nous permet d'accéder à plein de méthodes pour pouvoir agir sur cette feuille.

En voici quelques exemples ...

activate : active une feuille :

const feuille2 = SpreadsheetApp.getActive().getSheetByName('Feuille 2');
feuille2.activate();

appendRow : insère une ligne à la suite des données de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
feuille.appendRow([1, 2, 3]);

clear : supprime complètement le contenu et la mise en forme de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
feuille.clear();

clearContents : supprime le contenu de la feuille (en laissant la mise en forme) :

const feuille = SpreadsheetApp.getActiveSheet();
feuille.clearContents();

deleteRow : supprime une ligne entière de la feuille (ici, la ligne 17) :

const feuille = SpreadsheetApp.getActiveSheet();
feuille.deleteRow(17);

getActiveCell : retourne la cellule active de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
const celluleActive = feuille.getActiveCell();

console.log(celluleActive.getValue()); // Affiche la valeur de la cellule active

getActiveRange : retourne la plage de cellules active de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
const plageActive = feuille.getActiveRange();

console.log(plageActive.getValues()); // Affiche la valeur des cellules de la plage active

getDataRange : retourne la plage de cellules de la feuille contenant des données :

const feuille = SpreadsheetApp.getActiveSheet();
const plage = feuille.getDataRange();

getName : retourne le nom de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
const nomFeuille = feuille.getName();

console.log(nomFeuille); // Affiche le nom de la feuille

getRange : retourne une cellule ou une plage de cellules de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
const plage = feuille.getRange('A1:B4');

getSheetId : retourne l'ID de la feuille :

const feuille = SpreadsheetApp.getActiveSheet();
const idFeuille = feuille.getSheetId();

console.log(idFeuille); // Affiche l'ID de la feuille
Et ce n'est ici qu'un petit aperçu des méthodes de l'objet Sheet, vous trouverez la liste complète dans la documentation officielle sur le site de Google : Sheet

Cellules

Tout comme la feuille, les cellules sont des objets qui ont une longue liste de méthodes disponibles, en voici quelques-unes ...

activate : active (sélectionne) la cellule :

const celluleC4 = SpreadsheetApp.getActiveSheet().getRange('C4');
celluleC4.activate();

clear : supprime complètement le contenu et la mise en forme de la cellule :

const celluleC4 = SpreadsheetApp.getActiveSheet().getRange('C4');
celluleC4.clear();

clearContent : supprime le contenu de la cellule (en laissant la mise en forme) :

const celluleC4 = SpreadsheetApp.getActiveSheet().getRange('C4');
celluleC4.clearContent();

getA1Notation : récupère une description de la cellule ou de la plage (au format A1) :

const celluleActive = SpreadsheetApp.getActiveSheet().getActiveCell();
const description = celluleActive.getA1Notation();

console.log(description); // Si la cellule active est C4, affiche : C4

getValue : récupère la valeur de la cellule :

const celluleC4 = SpreadsheetApp.getActiveSheet().getRange('C4');
const valeur = celluleC4.getValue();

console.log(valeur); // Affiche la valeur de la cellule C4

getValues : récupère les valeurs de la plage de cellules :

const plage = SpreadsheetApp.getActiveSheet().getRange('C4:D7');
const tableau = plage.getValues();

console.log(tableau); // Affiche les valeurs des cellules dans un tableau

offset : retourne la cellule ou plage de cellules en tenant compte d'un décalage :

const celluleC4 = SpreadsheetApp.getActiveSheet().getRange('C4');
const celluleC5 = celluleC4.offset(1, 0);

setBackground : applique une couleur de fond (au format CSS) aux cellules :

const plage = SpreadsheetApp.getActiveSheet().getRange('A1:E1');
plage.setBackground('#30a392');

setBackgroundRGB : applique une couleur de fond (au format RGB) aux cellules :

const plage = SpreadsheetApp.getActiveSheet().getRange('A1:E1');
plage.setBackgroundRGB(48, 163, 146);

setBorder : applique des bordures aux cellules (ici, des bordures complètes, en pointillés et colorées) :

const plage = SpreadsheetApp.getActiveSheet().getRange('A2:E10');
plage.setBorder(true, true, true, true, true, true, '#30a392', SpreadsheetApp.BorderStyle.DASHED);

setFontColor : applique une couleur (au format CSS) au texte des cellules :

const plage = SpreadsheetApp.getActiveSheet().getRange('A2:E10');
plage.setFontColor('#30a392');

setFontSize : définit la taille du texte des cellules :

const plage = SpreadsheetApp.getActiveSheet().getRange('A2:E10');
plage.setFontSize(14);

setFormula : insère une formule (en anglais) dans la cellule :

const celluleTotal = SpreadsheetApp.getActiveSheet().getRange('A10');
celluleTotal.setFormula('=SUM(A2:A9)');

setValue : définit la valeur de la cellule :

const celluleC4 = SpreadsheetApp.getActiveSheet().getRange('C4');
celluleC4.setValue('Nouvelle valeur');

setValues : définit les valeurs de la plage de cellules :

const plage = SpreadsheetApp.getActiveSheet().getRange('A2:C3');
plage.setValues([['a2', 'b2', 'c2'], ['a3', 'b3', 'c3']]);

sort : trie la plage de cellules (ici, en fonction de la première colonne) :

const plage = SpreadsheetApp.getActiveSheet().getRange('A2:C10');
plage.sort(1);
Là encore, ce n'est qu'un petit aperçu des méthodes de l'objet Sheet, vous trouverez également la liste complète dans la documentation officielle sur le site de Google : Range