XL 2021 Lien Hypertexte et feuilles masquées

  • Initiateur de la discussion Initiateur de la discussion Yacine
  • 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 !

Yacine

XLDnaute Occasionnel
Bonsoir,

Je voudrais si possible quand je clique sur un lien hypertexte qui pointe sur une feuille (Onglet) masquée cette feuille s'affiche et quand je retourne sur la feuille Accueil elle se masque automatiquement, dans mon exemple joint je voudrais masquer tous les onglets sauf Accueil et donc quand je clique sur les liens hypertextes les feuilles s'affichent puis se masquent dès que je retourne sur la feuille "Accueil".

Un grand MERCI par avance et bonne soirée.
 

Pièces jointes

Bonjour Tacine, Eric KERGRESSE, le forum,

Pour faire ce que vous voulez faire il faut que les liens soient de vrais liens hypertextes.

Les liens créés par la fonction LIEN_HYPERTEXTE n'en sont pas.

Voyez donc le fichier joint et ces 3 macros dans le code de la feuille "Accueil" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [I14]) Is Nothing Then Exit Sub
Dim r As Range, x As Variant
Application.ScreenUpdating = False
Application.EnableEvents = False
Set r = [J15:J83]
r.Hyperlinks.Delete 'RAZ
For Each r In r
    x = Application.VLookup(r(1, 0), Range("B:D"), 3, 0)
    If Not IsError(x) Then Hyperlinks.Add r, "", "'" & x & "'!A1", TextToDisplay:=x 'crée le lien
Next
Application.EnableEvents = True
End Sub

Private Sub Worksheet_Followhyperlink(ByVal h As Hyperlink)
Evaluate(h.SubAddress).Parent.Visible = xlSheetVisible
Application.Goto Evaluate(h.SubAddress)
End Sub

Private Sub Worksheet_Activate()
Dim s As Object
For Each s In Sheets
    If s.Name <> Me.Name Then s.Visible = xlSheetHidden 'masque les feuilles
Next
End Sub
A+
 

Pièces jointes

Bonjour Tacine, Eric KERGRESSE, le forum,

Pour faire ce que vous voulez faire il faut que les liens soient de vrais liens hypertextes.

Les liens créés par la fonction LIEN_HYPERTEXTE n'en sont pas.

Voyez donc le fichier joint et ces 3 macros dans le code de la feuille "Accueil" :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [I14]) Is Nothing Then Exit Sub
Dim r As Range, x As Variant
Application.ScreenUpdating = False
Application.EnableEvents = False
Set r = [J15:J83]
r.Hyperlinks.Delete 'RAZ
For Each r In r
    x = Application.VLookup(r(1, 0), Range("B:D"), 3, 0)
    If Not IsError(x) Then Hyperlinks.Add r, "", "'" & x & "'!A1", TextToDisplay:=x 'crée le lien
Next
Application.EnableEvents = True
End Sub

Private Sub Worksheet_Followhyperlink(ByVal h As Hyperlink)
Evaluate(h.SubAddress).Parent.Visible = xlSheetVisible
Application.Goto Evaluate(h.SubAddress)
End Sub

Private Sub Worksheet_Activate()
Dim s As Object
For Each s In Sheets
    If s.Name <> Me.Name Then s.Visible = xlSheetHidden 'masque les feuilles
Next
End Sub
A+
Bonjour, C'est vraiment ce que je voulais. MERCI+++
 
- 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
86
Réponses
5
Affichages
574
Retour