Ouvrir un fichier Excel sur un onglet déterminé

Bonjour,

Ceci n'est pas un problème excel à proprement parler :

J'ai créé une bibliothèque de documents dans une arborescence.

Au niveau le plus élevé de l'arborescence se trouve un sommaire (sommaire.xlsx ; pas très original mais explicite...)

Chaque onglet de sommaire.xlsx contient la liste des documents enregistrés dans le répertoire de l'arborescence qui porte le même nom que l'onglet avec un lien hypertexte permettant l'ouverture du fichier sélectionné ; jusque là, rien de bien sorcier.

Dans la logique, les utilisateurs devraient accéder à la bibliothèque "par le haut" mais voilà, certains accèdent directement au répertoire qui les intéressent ; plutôt que de les obliger à revenir à la racine pour accéder au sommaire, j'avais envisager de mettre à chaque niveau de la bibliothèque un raccourci vers sommaire.xlsx qui permettrait d'ouvrir le sommaire directement à l'onglet concerné.

Ainsi, un utilisateur qui accèderait au répertoire PLANS disposerait d'un raccourci qui lui ouvrirait directement sommaire.xlsx à l'onglet PLANS, celui qui accèderait au répertoire TARIF disposerait d'un raccourci qui ouvrirait sommaire.xlsx à l'onglet TARIF, etc.

Et là, je sais pas faire... J'ai beau chercher sur internet, je ne trouve rien. Je sais obliger le fichier à s'ouvrir toujours sur un même onglet mais pas sur un onglet différent selon le raccourci utilisé.

Celui qui m'apportera la solution aura la reconnaissance de quelques dizaine d'utilisateurs

Merci d'avance

Tout est indiqué ici :

https://www.excel-pratique.com/fr/vba/evenements_classeur.php

Private Sub Workbook_Open()
' ici activer l'onglet ad-hoc
End Sub

tu peux aussi fermer avec sélection de l'onglet ad-hoc

Private Sub Workbook_BeforeClose(Cancel As Boolean)
' ici activer l'onglet ad-hoc
End Sub

mais il faudra bien sûr que les macros soient activées !


Le mieux c'est ceci ... car si les macros ne sont pas activées, l'utilisateur ne verra que le sommaire !

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean) 'masque toutes les feuilles avant de fermer
    Sheets("Sommaire").Activate
    Dim ws As Worksheet
    For Each ws In Worksheets
        If ws.Name <> "Sommaire" Then ws.Visible = xlVeryHidden
    Next
End Sub

Private Sub Workbook_Open() 'démasque les feuilles 
    Dim ws As Worksheet
    For Each ws In Worksheets
        If ws.Name <> "Sommaire" Then ws.Visible = True
    Next
End Sub
Rechercher des sujets similaires à "ouvrir fichier onglet determine"