Dans le prochain article, vous apprendrez une façon (parmi d’autres) d’obtenir la liste des noms d’onglets d’un fichier Excel (sans VBA).
Données de départ pour illustrer comment obtenir la liste des noms d’onglets
Dans le fichier Excel qui a servi à construire mon exemple, j’ai inséré 4 onglets, avec les 4 noms décrits ci-dessous.
Définir un nouveau champ nommé
J’ai ensuite été dans le Gestionnaire de Noms (Name Manager).
J’ai cliqué sur Nouveau (New).
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).
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 la liste des noms d’onglets 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.
J’ai appelé le nom de mon nouveau champ soit “NomsOnglets”.
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).
Utilisation d’une fonction texte pour obtenir la liste des noms d’onglets
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.
Au final, j’ai obtenu le résultat sur deux lignes.
Résultat en une seule étape
Pour obtenir la liste des noms d’onglets 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.
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).
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.
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
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.
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,
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
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…
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
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
Bonjour,
Pourriez-vous poser votre question sur notre forum en y insérant votre fichier? Nous pourrons alors l’examiner et vous dire ce qui n’est pas correct.
Lien vers le forum: https://www.lecfomasque.com/forum/.
Au plaisir,
Sophie