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

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

  • XLD - LIRE.CLASSEUR(1).xlsm
    23.4 KB · Affichages: 22

Dranreb

XLDnaute Barbatruc
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
 

job75

XLDnaute Barbatruc
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+
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 942
Membres
101 849
dernier inscrit
florentMIG