Afficher le nom de la feuille dans Google Spreadsheets


Réponses:


11

Quelqu'un a écrit un script pour le faire. Il est disponible dans Outils > Galerie des scripts ... . Recherchez "nom de la feuille" et installez le script, puis utilisez-le avec =getCurrentSheetName().


9
Comment accéder à ce script dans les "nouvelles" Google Sheets (qui utilisent maintenant un magasin complémentaire)?
Benjamin

4
Cela ne fonctionne plus. Utilisez la réponse de @ user93341. J'ai parcouru tout le processus pour publier sa fonction dans le magasin complémentaire et, à la dernière étape, ils voulaient que 5 $ vérifient mon compte et je serais limité à la publication de 20 articles. Le soupir.
Bruno Bronosky

49

Allez dans OutilsEditeur de script et ajoutez ce code:

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Dans une cellule où vous voulez le nom de la feuille, ajoutez:

=sheetName()

Il y avait un problème avec l'accès aux noms de feuille via les fonctions de l'API illustrées ci-dessous, où il ne renvoyait que le nom de la première feuille. Cela a été corrigé en mars 2015 .


Pourriez-vous développer votre réponse pour ceux d'entre nous qui ne sont pas familiers avec l'outil de script?
codingbadger

1
@Barry 1) Sélectionnez Outils-> Editeur de script 2) Dans le fichier texte obtenu, ajoutez cette fonction à la fin 3) Cliquez sur Enregistrer 4) Vous pouvez maintenant utiliser cette fonction dans votre feuille.
Gamliela

5
Bien que cette fonction fonctionne correctement, elle ne se met pas à jour lorsque le nom de la feuille change. Elle n’est donc pas utile.
jesjimher

1
@jesjimher, selon ce forum d'aide Google Documents , si vous accédez à l'éditeur de script et réenregistrez le script, vous revenez à la page où vous remarquerez que les noms des onglets ont été correctement mis à jour.
aribeiro

1
Je sais, mais c'est déroutant et totalement opposé au fonctionnement des formules de feuille. Je m'attends à ce qu'une formule soit mise à jour chaque fois que les données référencées changent. Maintenant, cette formule ne le fait que si j'ouvre et enregistre le script source. Je pourrais simplement entrer le nom de la feuille à la main à chaque fois, ce qui évite les tracas.
jesjimher

6

Voici un extrait de code de fonction personnalisée permettant d’obtenir un nom de feuille de calcul par son identifiant .

function GetSpreadsheetNameById(id) {
  var ss = SpreadsheetApp.openById(id);
  return ss.getName();
}

Dans une cellule, transmettez un identificateur de feuille (recherchez l’identificateur dans l’URL de la feuille de calcul).

=GetSpreadsheetNameById('49nvkwOE-203nXDLGGJtg0htFKK020dsd939AAPZU')

1
Ceci est juste un léger changement à la réponse @ user93341 ci-dessus.
JamesThomasMoon1979

Cela donne l'erreur suivante: "Vous n'êtes pas autorisé à appeler SpreadsheetApp.openById."
Aurovrata

Ceci retourne le nom du document au lieu du nom de la feuille, remplacez-le return ss.getName();par return ss.getActiveSheet().getName();si vous voulez le nom de la feuille (j'avais besoin du nom du document, donc merci)
Emilien

-1

Essaye ça:

function getNameOfThisSheet() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Collez-le dans Outils> Editeur de script et appelez la fonction à partir d'une cellule comme celle-ci:

=getNameOfThisSheet(NOW())

Le paramètre NOW()précédent GoogleClock()aide à éviter les problèmes de mémorisation.


GOOGLECLOCK () a été remplacé par NOW (). Par contre, les fonctions non déterministes ne peuvent pas être utilisées comme arguments de fonctions personnalisées.
Rubén
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.