GuillaumA
XLDnaute Occasionnel
Re bonjour à tous,
J'ai un système qui génère la liste de toutes les feuilles de mon classeur. Cette liste se met automatiquement à jour lorsque je crée une nouvelle feuille dans mon classeur.
Seulement j'ai un soucis, si j'ouvre plusieurs classeurs, cette liste peut bugger et m'afficher des #DIV! et je doit alors manuellement refaire la liste.
J'utilise ceci:
Une liste de 29 cellules dans la colonne H et dans lesquelles se trouve toujours la même formule: =NomsOnglets(LIGNE())
NomsOnglets est se réfère à une option explicit mis dans un module à part:
Code :
Option Explicit
'Propose list of all the Workbook sheets in the mail attached file section
Function NomsOnglets(i As Integer) As String
Application.Volatile
On Error Resume Next
NomsOnglets = Sheets(i).Name
On Error GoTo 0
End Function
J'ai appelé la liste crées "Onglets" et cette dernière couvre la zone H1:H30. Cette dernière me sert à créer des listes déroulantes des noms de feuille.
Hormis le bug dit préalablement, cette liste me pause problème aussi sur deux autres points:
Elle couvre les 30 cellules même si ces dernières sont vide et pas seulement celles remplis avec des noms de feuilles (Le nombre de feuille est variable car l'utilisateur peut en créer, mais se situe généralement autour de 15 feuilles)
Elle ne me permet pas d'exclure des feuilles de la liste que je ne veut pas voir apparaître.
Comme il m'es très important d'avoir quelque chose de stable, je vous appelle à l'aide sur ce sujet
Je joint un fichier en exemple.
Amicalement,
Guillaume
J'ai un système qui génère la liste de toutes les feuilles de mon classeur. Cette liste se met automatiquement à jour lorsque je crée une nouvelle feuille dans mon classeur.
Seulement j'ai un soucis, si j'ouvre plusieurs classeurs, cette liste peut bugger et m'afficher des #DIV! et je doit alors manuellement refaire la liste.
J'utilise ceci:
Une liste de 29 cellules dans la colonne H et dans lesquelles se trouve toujours la même formule: =NomsOnglets(LIGNE())
NomsOnglets est se réfère à une option explicit mis dans un module à part:
Code :
Option Explicit
'Propose list of all the Workbook sheets in the mail attached file section
Function NomsOnglets(i As Integer) As String
Application.Volatile
On Error Resume Next
NomsOnglets = Sheets(i).Name
On Error GoTo 0
End Function
J'ai appelé la liste crées "Onglets" et cette dernière couvre la zone H1:H30. Cette dernière me sert à créer des listes déroulantes des noms de feuille.
Hormis le bug dit préalablement, cette liste me pause problème aussi sur deux autres points:
Elle couvre les 30 cellules même si ces dernières sont vide et pas seulement celles remplis avec des noms de feuilles (Le nombre de feuille est variable car l'utilisateur peut en créer, mais se situe généralement autour de 15 feuilles)
Elle ne me permet pas d'exclure des feuilles de la liste que je ne veut pas voir apparaître.
Comme il m'es très important d'avoir quelque chose de stable, je vous appelle à l'aide sur ce sujet
Je joint un fichier en exemple.
Amicalement,
Guillaume