Roseline
XLDnaute Occasionnel
Bonjour,
J'ai besoin de votre aide. J'ai un classeur contenant environ 50 onglets qui sont masqués. A partir de ma table des matières j'ai des liens hypertexte qui renvoie automatiquement au bon onglet.
J'ai ajouté cette VBA qui fonctionne parfaitement bien. Elle ouvre l'onglet masqué lorsque je clique sur le lien et dès que je retourne à ma table des matières, l'onglet se remasque.
Mon problème: Le nom de l'onglet doit correspondre en tout point au mot dans ma table des matières. Si je n'ai pas le bon nom, ma VBA ne fonctionne plus.
Y a t'il un moyen de contourner cela?
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim strLinkSheet As String
If InStr(Target.Parent, "!") > 0 Then
strLinkSheet = Left(Target.Parent, InStr(1, Target.Parent, "!") - 1)
Else
strLinkSheet = Target.Parent
End If
Sheets(strLinkSheet).Visible = True
Sheets(strLinkSheet).Select
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Activate()
On Error Resume Next
Sheets(ActiveCell.Value2).Visible = False
End Sub
Merci de votre aide et bonne journée
J'ai besoin de votre aide. J'ai un classeur contenant environ 50 onglets qui sont masqués. A partir de ma table des matières j'ai des liens hypertexte qui renvoie automatiquement au bon onglet.
J'ai ajouté cette VBA qui fonctionne parfaitement bien. Elle ouvre l'onglet masqué lorsque je clique sur le lien et dès que je retourne à ma table des matières, l'onglet se remasque.
Mon problème: Le nom de l'onglet doit correspondre en tout point au mot dans ma table des matières. Si je n'ai pas le bon nom, ma VBA ne fonctionne plus.
Y a t'il un moyen de contourner cela?
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim strLinkSheet As String
If InStr(Target.Parent, "!") > 0 Then
strLinkSheet = Left(Target.Parent, InStr(1, Target.Parent, "!") - 1)
Else
strLinkSheet = Target.Parent
End If
Sheets(strLinkSheet).Visible = True
Sheets(strLinkSheet).Select
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Activate()
On Error Resume Next
Sheets(ActiveCell.Value2).Visible = False
End Sub
Merci de votre aide et bonne journée