Lien vers onglets du classeur

  • Initiateur de la discussion Initiateur de la discussion maval
  • Date de début Date de début

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 !

maval

XLDnaute Barbatruc
Bonjour,

J'ai un classeur avec 120 feuilles j'aimerai que lorsque je masque les onglets de ma feuille a l'aide de mon code je puisse ouvrir les onglets avec leurs lien se trouvant sur la feuille d'accueil sans ouvrir la totalité des onglets.

Merci de votre aide

Je joint mon exemple

Cordialement

Maval
 

Pièces jointes

Re : Lien vers onglets du classeur

Bonjour à tous

Ajoute ceci dans le code de la feuille Accueil
(j'ai testé un peu (les 3 premiers depts de la liste en fait) , cela semble OK)
VB:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim oSh As Worksheet
Application.ScreenUpdating = False
If Not Intersect(ActiveCell, ActiveSheet.Range("AE11:AE108")) Is Nothing Then
Sheets(ActiveCell.Value2).Visible = True
For Each oSh In ThisWorkbook.Sheets
      If oSh.Name <> "Accueil" And oSh.Name <> "Fr_Régions" And oSh.Name <> ActiveCell.Value2 Then
      oSh.Visible = 0
      End If
   Next oSh
Application.ScreenUpdating = True
End If
End Sub
 
Re : Lien vers onglets du classeur

Bonjour JM

Oui sur la liste des départements sa marche Nickel. Est-il possible de modifier le code pour faire la même chose avec la liste Alpha?

Je te remercie beaucoup et te souhaite une bonne journée

Maval
 
Re : Lien vers onglets du classeur

Re


Oui c'est possible, évidemment
Mais j'aime que les questionneurs mettent un peu la main à la pâte

En plus c'est dimanche, donc je prends mon temps.

Il suffit d'adapter mon précédent code (sans oublier de créer une liste qui contient la première lettre du nom des feuilles avec Left(oSh.name,1) par exemple)

Je te laisse essayer un peu te dépatouiller seul.

Je reviendrai après avoir fini mon repassage
(Je ferai la vaisselle cet aprés-midi)
 
Re : Lien vers onglets du classeur

Re,

Je suis bien arriver a le faire fonctionner "liste Alpha", mais je n'arrive pas a les mètrent dans le même code?
Et j'ai du supprimer ceci " 'oSh.Visible = 0" mais le problème et que je ne masque plus se que j'ai déjà ouvert?
J'ai fait ceci:

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Dim oSh As Worksheet
Application.ScreenUpdating = False
If Not Intersect(ActiveCell, ActiveSheet.Range("B9:AB9")) Is Nothing Then
Sheets(ActiveCell.Value2).Visible = True
   
   For Each oSh In ThisWorkbook.Sheets
           If oSh.Name <> "B9:AB9" And oSh.Name <> ActiveCell.Value2 Then
      'oSh.Visible = 0
      End If
   Next oSh
   
   
  
Application.ScreenUpdating = True
End If
End Sub

@+
Et bon repassage
 
Dernière édition:
Re : Lien vers onglets du classeur

Re


Merci d'avoir mis les mains dans le cambouis.
(Il faut utiliser Left(oSh.Name,1) pour avoir avoir la première lettre du nom des feuilles)

Si tu cliques sur A, on doit afficher toutes les feuilles dont le nom commencent par A, non ?

Donc, il nous faut avoir une liste "du début des noms" des feuilles (et ce pour chaque lettre de l'alphabet)
 
Re : Lien vers onglets du classeur

Re

Essaies ceci
(Maintenant si tu penses que mes conseils sont erronés, je peux aller commencer ma vaisselle ...🙄)
Je te laisse tester et essayer de corriger le léger bug qui persiste.
Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Const ABC As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim oSh As Worksheet
Application.ScreenUpdating = False
If Not Intersect(ActiveCell, ActiveSheet.Range("AE11:AE108")) Is Nothing Then
Sheets(ActiveCell.Value2).Visible = True
For Each oSh In ThisWorkbook.Sheets
      If oSh.Name <> "Accueil" And oSh.Name <> "Fr_Régions" And oSh.Name <> ActiveCell.Value2 Then
      oSh.Visible = 0
      End If
   Next oSh
End If
If Not Intersect(ActiveCell, ActiveSheet.Range("C9:AA9")) Is Nothing Then
For Each oSh In ThisWorkbook.Sheets
      If oSh.Name = "Accueil" Or oSh.Name = "Fr_Régions" Or Left(oSh.Name, 1) Like Mid(ABC, Asc(Left(ActiveCell.Text, 1)) - 64, 1) Then
      oSh.Visible = xlSheetVisible
      End If
   Next oSh
Application.ScreenUpdating = True
End If
End Sub
 
Re : Lien vers onglets du classeur

Re,

Je me permettrez pas de penser que tes conseils sont erronés, mais tu peux aller commencer ta vaisselle ...)
Sa marche très bien et je te remercie beaucoup mais juste un petit truck.
Pourquoi quand je clic dans la colonne département "AE11:AE108" les onglet se masque au fur et a mesure que j'ouvre un nouveau
et quand je veut faire la même chose avec ma liste alpha ce n'est pas possible?

@+
 
Re : Lien vers onglets du classeur

Re

Pour moi le code de mon précédent message ne fonctionne pas vraiment à 100%
(Si tu tu cliques sur la A par exemple, puis ensuite sur B,
la feuille A reste visible, ce qui ne devrait pas être)

Pour le moment, j'ai pas trouvé comment y remédier.
 
Re : Lien vers onglets du classeur

Re

Non, Non
J'avais bien précisé précédemment 😉
Je te laisse tester et essayer de corriger le léger bug qui persiste.
Je sèche toujours pour le moment pour régler le problème.

Je reviens après avoir préparer le déjeuner, puis l'avoir ingurgité, bu un petit café.

Bon appétit à ceux qui vont pas tarder à passer à table.
 
- 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
4
Affichages
218
Réponses
4
Affichages
378
Réponses
3
Affichages
326
Réponses
1
Affichages
210
Retour