Excel : Obtenir la liste des noms de tous vos onglets

Publié le 16 octobre 2017
par Sophie Marchand M.Sc., CPA, CGA, MVP
Get.workbook(1)

Excel : Obtenir la liste des noms de tous vos onglets

Dans le prochain article, vous apprendrez une façon (parmi d’autres) d’obtenir la liste des noms de tous les onglets d’un fichier Excel (sans VBA).

 

Données de départ

Dans le fichier Excel qui a servi à construire mon exemple, j’ai inséré 4 onglets, avec les 4 noms décrits ci-dessous.

 

Noms d'onglets

 

Définir un nouveau champ nommé

J’ai ensuite été dans le Gestionnaire de Noms (Name Manager).

 

Gestionnaire de noms

 

J’ai cliqué sur Nouveau (New).

 

Nouveau nom

 

Et j’ai ajouté le nom “NomsOnglets” et j’ai inséré la fonction =LIRE.CLASSEUR(1), tel qu’illustré ci-dessous. À noter que la fonction en anglais est =Get.Workbook(1).

 

LIRE.CLASSEUR(1)
 
 

Vous souhaitez créer et personnaliser des outils de gestion automatisés dans Excel  pour mieux répondre aux besoins spécifiques de votre entreprise ? Apprenez à les développer et les présenter avec des interfaces conviviales pour les usagers en suivant nos formations en programmation de macros VBA.

 

Formule pour obtenir les noms dans la feuille Excel

Ensuite, j’ai sélectionné 4 cellules (afin d’obtenir les noms de mes 4 onglets) dans le but d’y insérer le nom de mes 4 onglets.

 

Espaces pour calcul matriciel

 

J’ai appelé le nom de mon nouveau champ soit “NomsOnglets”.

 

Fonction nom

 

Ceci m’a permis d’obtenir le nom de mes 4 onglets. À noter que si vous utilisez une plus vieille version d’Excel, il est possible que vous deviez utiliser les anciennes formules matricielles. Dans ce cas, vous devrez cliquer sur CTRL+SHIFT+ENTER afin de convertir le tout en formule matricielle (voyez les accolades à cet effet dans la barre de formules).

 

formule matricielle

 

Utilisation d’une fonction texte

Par la suite, j’ai nettoyé le résultat obtenu à l’aide de la fonction texte Substitue (ou Substitute en anglais). Ceci m’a permis de me débarrasser de la portion entre crochets.

 

Fonction Substitue

 

Au final, j’ai obtenu le résultat sur deux lignes.

 

Noms onglets complets

 

Résultat en une seule étape

Pour obtenir le même résultat en une seule étape, il s’agit simplement d’imbriquer la formule directement dans le nom, depuis le gestionnaire de champs nommés, tel qu’illustré ci-dessous.

 

Noms onglets V2

 


 

Fichier d’accompagnement VIP à télécharger

Pour télécharger le fichier utilisé dans ce tutoriel, devenez membre VIP du CFO masqué.
 

Formation complémentaire

Pour une introduction à la programmation avec le langage VBA, qui permet de sauver du temps et de réduire les risques d’erreurs en automatisant certaines tâches et certains processus, afin de développer des solutions robustes dans Excel, suivez la formation Excel – VBA (niveau 1).
 

Voici quelques commentaires d’apprenants ayant suivi cette formation :

 

Le CFO masqué - Commentaires formation - Excel VBA (niveau 1)

CFO-Masque_Formations-en-ligne_FBLa mission du CFO masqué est de développer les compétences techniques des analystes et des contrôleurs de gestion en informatique décisionnelle avec Excel et Power BI et favoriser l’atteinte de leur plein potentiel, en stimulant leur autonomie, leur curiosité, leur raisonnement logique, leur esprit critique et leur créativité.

9 réflexions sur “Excel : Obtenir la liste des noms de tous vos onglets”

  1. Bonjour,
    Merci pour cette article.
    Je viens d’essayé d’appliquer la méthode pour lister mes onglets car dans le cadre de mon travail, je vais en avoir besoin. Cela a très bien fonctionné. Cependant, j’aurais aimé savoir s’il était possible de transposer le résultat en ligne en colonne? J’ai essayé de le faire mais je n’ai pas réussi. Est-il possible de créer des liens hypertextes qui nous ramènerais sur les onglets concernés?
    Merci par avance.

    1. Bonjour,

      La formule matricielle s’utilise en ligne.

      Par contre, vous pourriez très bien vous construire une colonne avec une formule INDIRECT(ADDRESS) qui vous ramènerait le résultat des cellules en ligne, en colonne. Si vous avez besoin d’un exemple, soumettez votre question dans notre forum avec un fichier et nous vous retournerons le résultat.

      Au plaisir,

      Sophie

  2. Bonjour,
    Finalement, je suis arrivé à construire ma page index qui récapitule l’ensemble des onglets de mon document excel à l’aide de votre article. Par contre, ne maîtrisant pas la fonction Indirect, j’ai utilisé la fonction “=transposer” puis j’ai j’ai terminé par “Alt+Maj+Entrée”.
    J’y ai aussi mis les liens hypertextes aller et retour : de la page index aux onglets et des onglets à ma page index.
    En tout cas, merci pour vos indications.
    Cordialement.

  3. Bonjour,

    J’ai suivi les instructions jusqu’au bout, mais j’obtiens pour chacune des cellules la valeur “#NOM?”
    Dans le gestionnaire de noms, j’ai bien saisi : =GET.WORKBOOK(1) dans la case “refers to”.

    Pour information, j’utilise Excel 2016.

    Faut-il activer au préalable un complément? Car il semblerait que la commande =GET.WORKBOOK(1) ne soit pas reconnue.

    Merci d’avance pour votre aide.

    Cordialement,

    1. Bonjour,

      Le message #NOM? est une erreur dans l’orthographe d’une fonction ou de tout autre élément, notamment le champ nommé.

      Je présume que vous avez fait une erreur à ce niveau.

      Svp, vérifiez votre champ nommé. Si vous ne trouvez pas l’erreur, posez votre question sur notre forum en y insérant votre fichier afin qu’on puisse examiner la problématique.

      Forum: https://www.lecfomasque.com/forum/.

      Merci.

      Sophie

    2. Bonjour,

      Surement parce que votre version d’Excel est en Français. Essayez LIRE.CLASSEUR(1).

      Bon c’est un peu tard, mais ça peut aider d’autres…

  4. Bonjour,

    Pour compléter la formule et ne plus rien avoir de figé (nom du fichier) voici ce que j’ai utilisé comme formule pour mon “NomsOnglets”… Ah oui et en français aussi car j’ai cette chance de devoir aussi traduire ce que je trouve sur les forums 🙂
    =SUBSTITUE(LIRE.CLASSEUR(1);GAUCHE(LIRE.CLASSEUR(1);TROUVE(“]”;LIRE.CLASSEUR(1)));””)

    Bonne journée à tous

  5. bonjour
    je viens d’essayer en faisant a la lettre ce qui est expliqué et désolé sur 2007 ca ne fonctionne pas
    j’ai n’ai que le premier nom d’onglet”Feuil1″
    d’autant plus qu’a partire de “formule matricielle” j’ai dans mes trois cellule seulement la cells(1) avec la formule les autres sont vide

    peut être détailler ce point ca pour moi c’est pas clair ce chapitre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top