Liste nom de feuilles d'un classeur

Bonjour,

Je recherche une manière simple de lister dans un premier onglet le nom de chaque feuille d'un classeur.

J'ai demandé à Chat GPT, il m'a fourni une première ébauche intéressante, le problème est qu'il tourne en rond quand je lui demande de corriger certains problèmes. Macro qui empêche le copier/coller, qui empêche l'annulation de la dernière action (Ctrl Z). Quand c'est réglé, la macro tourne à l'infini. Quand c'est réglé ça aussi, la suppression d'une feuille est prise en compte dans la liste de manière automatique, mais l'ajout et/ou la modification et/ou le déplacement du nom d'une feuille n'est pas automatique.

En somme, je veux simplement avoir la liste des noms de feuilles de manière parfaitement dynamique sans entraver les fonctionnalités de base d'Excel.

Voici dans le fichier joint ce que Chat GPT propose comme macros (une dans ThisWorkbook et une dans Module1).

Un grand merci d'avance.

Steve

Bonjour

C'est dû à la macro "Workbook_SheetChange"

Pourquoi mettre les macros dans thisworkbook?

De ce fait la macro se lance à chaque changement de feuille...

A+ François

Bonjour,

On ne peut pas tout avoir malheureusement. Les macros (par défaut) suppriment la liste d'annulation, et si désactivé comme vous l'avez remarqué ça fait un peu buguer.

Selon moi il faudrait peut-être revoir votre processus. Quel intérêt, concrètement, avez-vous à avoir un sommaire dynamique en permanence ? Vous ajoutez/supprimez des feuilles en permanence ?

Déjà de base en faisant un clic droit tout en bas à gauche (à gauche du nom des feuilles) vous avez une liste des feuilles qui apparait. Donc ce sommaire existe *sans VBA*.

Ensuite de manière générale en VBA on ne peut pas trop être hyper-dynamique. Ça alourdit le classeur. On pourrait simplement ajouter un bouton sur l'accueil "MAJ le sommaire" par exemple. Autrement, on pourrait lier une macro à un raccourci clavier qui ouvre un UserForm pour choisir une feuille… Mais bon à ce compte-là autant utiliser le clic en bas à gauche.

EDIT : @fanfan selon moi l'IA a ajouté cela pour tenir compte du changement de nom potentiel des feuilles, non détectable via VBA.

Bonjour @ tous !

Une proposition :

=SIERREUR(
LIEN_HYPERTEXTE("#"&STXT(@SI(@LIGNE(2:2)>NBVAL(Onglets);"";INDEX(Onglets;@LIGNE(2:2)));TROUVE("]";@SI(@LIGNE(2:2)>NBVAL(Onglets);"";INDEX(Onglets;@LIGNE(2:2)));1)+1;99)&"!A1";STXT(@SI(@LIGNE(2:2)>NBVAL(Onglets);"";INDEX(Onglets;@LIGNE(2:2)));TROUVE("]";@SI(@LIGNE(2:2)>NBVAL(Onglets);"";INDEX(Onglets;@LIGNE(2:2)));1)+1;99));
"")

Avec comme nom Onglets qui représente : =LIRE.CLASSEUR(1+0*MAINTENANT())

Le fichier :

La référence à LIGNE(2:2) permet de cibler à partir de la deuxième feuille en effet la feuille INDEX n'a pas besoin d'être dans la liste.
Comme cela si vous avez des feuilles systèmes il suffit de les mettre "à gauches" des onglets et de commencer l'inventaire au numéro d'onglet voulu.

@ bientôt

LouReeD

Pas mal @LooReed ! Juste pour info la solution ne marche plus sur office 365 car la fonction GET.WORKBOOK a été supprimée. Mais pour Excel 2016 c'est parfait.

Bonjour,

Et pourquoi ne pas évoluer avec notre temps ? :)

sommaire excel

Tout est inscrit dans ma signature ! 2014 !

@ bientôt

LouReeD

21Formatic bonjour,

avez vous fait une formation sur le prise de vue écran ces derniers temps ?
je plaisante !

j'ai essayé de mon côté de faire la validation de données sur des cellules de cases à cocher, mais peut être que cela ne fonctionne qu'avec 365...

@ bientôt

LouReeD

Bonjour LouReed,

À l'époque où j'étais plus présent, j'accompagnais un grand nombre de mes interventions par une image de ce genre. Je trouve ça plus pédagogique. Mais comme aujourd'hui tout le monde se fout de la pédagogie ...

Sinon en effet j'imagine que pour les cases à cocher cela ne fonctionne que sur 365 parce qu'il faut pour cela insérer les nouvelles cases à cocher, disponibles uniquement sur cette version si je ne me trompe pas.

c'est ce que je pensais... ha ce fameux 365...

Bonne fin de journée !

@ bientôt

LouReeD

Rechercher des sujets similaires à "liste nom feuilles classeur"