Google Sheet : masquer des lignes sous condition et exécution dans un menu

Fermé
KREMF94 Messages postés 1 Date d'inscription vendredi 30 juillet 2021 Statut Membre Dernière intervention 30 juillet 2021 - Modifié le 30 juil. 2021 à 14:51
Bonjour à toutes et tous,

Afin d'améliorer l'utilisation d'un fichier Sheet mis à disposition à divers utilisateurs, je souhaite que la fonction de masquage de lignes, si une cellule est vide, ne soit plus "automatique" mais que ce soit l'utilisateur qui lance le script par un menu.

Je suis parvenu à créer mon menu, mais je ne parviens pas à modifier mon script afin de la lancer depuis ce menu.
Débutant... et je galère pas mal...
Je vous remercie par avance pour l'aide que vous m'apporterez.


function onOpen(){
var menu = [{name: "Masquer lignes 11 et 12", functionName: "hideRows11"}]
SpreadsheetApp.getActiveSpreadsheet().addMenu("Custom", menu);
}

function hideRows11(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
const range = e.range;
if ((range.getRow()===12) && (range.getColumn()===5)){
if(range.getValue()===""){ //Identifie si E12 vide pour appliquer fonction hideRows3
hideRows3()}else{showRows()
}}
}

function hideRows3(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
sheet.hideRows(11,2); //cacher lignes n° 11 et 12 si E12 vide
}

J'obtiens ce message à l'exécution "TypeError: Cannot read property 'range' of undefined" pour la ligne 9
A voir également: