Lien hypertexte et onglets cachés

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

koukou40

XLDnaute Occasionnel
Bonjour !

Dans un fichier, on trouve un onglet "synthèse" puis 50 onglets nominatifs (nom1, nom2...).
Dans l'onglet "synthèse", un tableau où sont donc répertoriés tous les noms, et dans lequel un lien hypertexte sur chaque nom, me renvoie vers l'onglet adéquat.
Jusqu'à là, pas de problème, sauf que dès qu'un onglet est caché (afin d'obtenir une meilleure lisibilité dans mes onglets), le lien hypertexte ne fonctionne plus !
Est-il possible que lorsque je cliques sur un lien, l'affichage de l'onglet se fasse automatiquement ?

Si vous avez un début de réponse, je suis preneur !

Merci,

Cdt,
 
Re : Lien hypertexte et onglets cachés

Bonjour koukou40,

peut-être un début de piste :

à mettre dans le code de la feuille synthèse :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    ThisWorkbook.Worksheets(Replace(Left(Target.SubAddress, InStr(1, Target.SubAddress, "!") - 1), "'", "")).Visible = xlSheetVisible
    ThisWorkbook.Worksheets(Replace(Left(Target.SubAddress, InStr(1, Target.SubAddress, "!") - 1), "'", "")).Activate
End Sub
 
Re : Lien hypertexte et onglets cachés

Bonjour koukou40, salut tototiti,

Un autre solution. Le lien hypertexte est de la forme : Classeur1.xls#nom

Donc copiez dans le code de la feuille où se trouve le lien la macro :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Sheets(Mid(Target, 1 + Application.Find("#", Target), 100)).Visible = True
End Sub

En fait, vous n'avez pas besoin de lien hypertexte, écrivez seulement dans la cellule le nom de la feuille, quand vous cliquez sur la cellule, la feuille est activée par la macro :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
With Sheets(Target.Value)
.Visible = True
.Activate
End With
End Sub

Edit : oui, il faut .Value dans la 2ème solution

A+
 
Dernière édition:
Re : Lien hypertexte et onglets cachés

Re,

Mon post précédent suppose que le lien hypertexte ne vise qu'à activer la feuille nom.

Si en plus vous vous voulez sélectionner une cellule particulière (A50), il doit-être de la forme : Classeur1.xls#nom!A50, et la macro devient :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i, j As Byte
On Error Resume Next
j = 100
i = Application.Find("#", Target)
j = Application.Find("!", Target)
With Sheets(Mid(Target, i + 1, j - 1 - i))
.Visible = True
.Range(Mid(Target, j + 1, 50)).Select
End With
End Sub

A+
 
- 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

Retour