Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Rafraîchir la liste des onglets du classeur (LIRE.CLASSEUR(1))

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dionys0s

XLDnaute Impliqué
Bonjour le forum

J'utilise la fonction LIRE.CLASSEUR(1) dans mon gestionnaire de noms pour obtenir la liste des onglets du classeur dans un tableau structuré. Mon problème est que lorsque que j'ajoute, supprime ou renomme un onglet, les noms affichés dans mon tableau ne changent pas. Je suis obligé de rentrer dans les formules (F2) et les valider pour voir les modifications effectuées.

Quelqu'un saurait-il par bonheur comment rafraîchir cette formule automatiquement ?

D'avance merci pour votre aide
 

Pièces jointes

Bonjour.
Moi je supprimerais les formules et mettrais ce code dans Feuil1 (LISTE) :
VB:
Option Explicit
Private Sub Worksheet_Activate()
   Dim TNF(), L As Long
   ReDim TNF(1 To ThisWorkbook.Worksheets.Count, 1 To 1)
   For L = 1 To UBound(TNF): TNF(L, 1) = ThisWorkbook.Worksheets(L).Name: Next L
   With Me.ListObjects(1)
      If L <= .ListRows.Count Then .ListRows(L).Range.Resize(.ListRows.Count - L + 1).Delete xlShiftUp
      .DataBodyRange.Resize(UBound(TNF, 1)).Value = TNF
      End With
   End Sub
 
Bonjour DionysOs, Bernard, bonjour le forum,

Autre méthode. J'ai créé un nom, LIST_ONG, dans le gestionnaire de noms avec la formule dynamique : =DECALER(LISTE!L3C1;;;NBVAL(LISTE!C1)-2).
 
Bonjour Bernard, bonjour Robert.

Bernard, merci pour votre solution, même si je souhaitais éviter de passer par du VBA.

Robert, je n'ai pas observé de rafraîchissement des valeurs lors de modifications avec votre suggestion.
 
Bonjour dionys0s, Bernard, Robert,

Comme toutes les fonctions macros Excel 4.0 LIRE.CLASSEUR(1) ne se recalcule pas automatiquement.

Mais on peut la rendre volatile et la recalculer par la touche F9 en remplaçant LIRE.CLASSEUR(1) par LIRE.CLASSEUR(1)&T(ALEA())

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
771
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…