Liste onglet non masqué

Bonjour à tous

Je me permets de vous solliciter pour une amélioration

J'utilise 2 macros que j'ai eu certainement sur ce forum.

la 1ere liste la liste des onglets à partir du 3eme onglet dans la cellule A2

function liste_onglet() {

var out = new Array()

var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();

for (var i=3 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )

return out

}

et j'ai aussi sur ce même onglet une fonction avec un bouton pour refresh la page pour actualiser le tout

function refresh() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A2').activate();
  spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
  spreadsheet.getCurrentCell().setFormula('=liste_onglet()');
  spreadsheet.getRange('A2').activate();
};

J'aimerais en fait que la liste des onglets ne comprenne que les onglets actifs et ne liste pas les maqués (qui sont en fait des "dossiers" clos)

Merci d'avance

Bonjour,

Il est possible de se servir de isSheetHiden() qui renvoi true/false, ainsi, en ajoutant un test sur chaque onglet, vous pouvez intégrer que les feuilles non masquées à votre liste "out" :

function liste_onglet() {
  var out = new Array();
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
  for (var i = 0; i < sheets.length; i++) {
    if (!sheets[i].isSheetHidden()) {
      out.push([sheets[i].getName()]);
    }
  }
  return out;
}

Parfaitement parfait !

Encore merci de votre aide.

longue vie à ce forum qui me dépanne à chaque fois.

Rechercher des sujets similaires à "liste onglet masque"