je souhaiterais qu'une feuille appelée sommaire contenant des formes rectangles nommée de 1 à 6 et renvoyant chacun avec des liens hypertexte vers les feuilles respectives de 1 à 6. J'ai mis ce code dans sommaire mais cela masque bien les feuilles mais ne les affiche pas quand je clique sur un rectangle. voici le code
Public Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim strLinkSheet As String
Dim rng As Range
' Vérifier si la feuille contient le lien hypertexte
If Target.Parent.Parent.Name = "Sommaire" Then
Set rng = Target.Application.Range(Target.SubAddress)
If Not rng Is Nothing Then
' Récupérer le nom de la feuille associée au lien hypertexte
strLinkSheet = rng.Value
' Vérifier si le nom de la feuille n'est pas vide
If Len(strLinkSheet) > 0 Then
Sheets(strLinkSheet).Visible = True
Sheets(strLinkSheet).Select
End If
End If
End If
Application.ScreenUpdating = True
End Sub
Public Sub Worksheet_Activate()
Dim shp As Shape
Dim strSheetName As String
' Parcourir toutes les formes nommées sur la feuille
For Each shp In Me.Shapes
' Vérifier si la forme est un rectangle et si son nom est numérique
If shp.Type = msoShapeRectangle And IsNumeric(shp.Name) Then
' Récupérer le nom de la feuille associée à la forme nommée
strSheetName = shp.Name
' Masquer la feuille correspondante
Sheets(strSheetName).Visible = False
End If
Next shp
End Sub
Merci de votre aide
Public Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Updateby Extendoffice
Application.ScreenUpdating = False
Dim strLinkSheet As String
Dim rng As Range
' Vérifier si la feuille contient le lien hypertexte
If Target.Parent.Parent.Name = "Sommaire" Then
Set rng = Target.Application.Range(Target.SubAddress)
If Not rng Is Nothing Then
' Récupérer le nom de la feuille associée au lien hypertexte
strLinkSheet = rng.Value
' Vérifier si le nom de la feuille n'est pas vide
If Len(strLinkSheet) > 0 Then
Sheets(strLinkSheet).Visible = True
Sheets(strLinkSheet).Select
End If
End If
End If
Application.ScreenUpdating = True
End Sub
Public Sub Worksheet_Activate()
Dim shp As Shape
Dim strSheetName As String
' Parcourir toutes les formes nommées sur la feuille
For Each shp In Me.Shapes
' Vérifier si la forme est un rectangle et si son nom est numérique
If shp.Type = msoShapeRectangle And IsNumeric(shp.Name) Then
' Récupérer le nom de la feuille associée à la forme nommée
strSheetName = shp.Name
' Masquer la feuille correspondante
Sheets(strSheetName).Visible = False
End If
Next shp
End Sub
Merci de votre aide