Apps Script :Fonction afficher feuilles masqué

Bonjour

Nouveau sur le forum et débutant voici mon problème: Ayant 20 feuilles numérotées de 11 à 30 ,dans la fonction afficher ,au lieu de nommer la feuille ici ('11') est-il possible que ce soit la valeur d'une cellule de la feuille (par exemple A1) qui soit prise en compte. Le but , au lieu d'avoir 20 boutons et 20 macros ,avec un bouton et en changeant la valeur de la cellule A1 je peux ouvrir la feuille de mon choix parmi les 20

function afficher11() { SpreadsheetApp.getActive().getSheetByName('11').showSheet().activate();

Merci pour votre aide.

Bonjour,

Tu peux faire une liste déroulante de tes noms de feuille, puis, ta macro récupère la valeur, puis, ouvre le feuille et l'active.

Bonjour

Merci pour ta réponse , OK pour une liste déroulante en A1par exemple ,mais comment formuler la macro qui récupère la valeur et ouvre la feuille?(je suis vraiment débutant!.)

Bonjour,

Le plus simple est de faire un script en 2 parties, la première se déclenche à chaque modification sur le fichier et si repère que la modification est faite sur la cellule A1 de l'onglet sommaire, lance un second script pour rediriger vers l'onglet.

Voici un fichier test fonctionnel : https://docs.google.com/spreadsheets/d/1a63P1xHq7UxpCw6jVXBneOkd4Bd62Mj6Eo9lD_gwsQg/edit?usp=sharing

Voici l'explication sur script :

1, on fait le script qui teste après chaque modification dans le fichier si c'est la liste déroulante qui est modifiée :

function onEdit(e) {
  const sheet = e.range.getSheet(); // on stocke le nom de la feuille où a eu lieu la modif.
  const range = e.range;// on stocke la cellule où a eu lieu la modif.

  if(sheet.getName() === "sommaire" && range.getA1Notation() === 'A1'){ // on test si le nom de la feuille = sommaire et si la cellule = A1, si oui, on passe a la suite, sinon, le script s'arrête.
    var choice = range.getValue(); // on stocke ce qu'il y a en A1 dans une variable
    moveTo(choice) // on lance la fonction moveTo en y envoyant comme argument le choix précédemment stockée
  }
}

2, si oui, on utilise la valeur choisie dans la liste déroulante pour s'y déplacer :

function moveTo(choice){
  const ss = SpreadsheetApp.getActiveSpreadsheet(); // on stocke le fichier actif
  var sheetDest = ss.getSheetByName(choice); // on stocke la feuille de destination
  try{sheetDest.activate() // on essaie d'ouvrir la feuille de destination
  }catch(e){ // en cas d'erreur on exécute la ligne ci-dessous
    SpreadsheetApp.getUi().alert("Erreur : impossible de se déplacer vers l'onglet "+choice+" vérifiez si celui ci existe bien.") // on affiche un message d'erreur.
  }
}

Bonjour

Merci beaucoup ,super travail !

Rechercher des sujets similaires à "apps script fonction afficher feuilles masque"