Microsoft 365 suivre le lien hypertexte pour ouvrir une feuille masquée et revenir la masquer à nouveau

Othmane204

XLDnaute Nouveau
Bonjour,

J'aimerais savoir s'il y a moyen d'afficher une feuille masquée suivant son lien hypertexte, et la remasquer lorsqu'on active
une autre feuille.

Dans ce fichier joint, j'ai masqué la feuille "XXXX 212", apres avoir créer son lien, et je veux qu'elle s'affiche en cliquant sur son lien meme si elle est masquée, et la remasquer lorsque je revient à la feuille "HISTORIQUE FACTURES".

Merci d'avance !!
 

Pièces jointes

  • FACTURE.xlsm
    48.8 KB · Affichages: 3
Solution
Bonsoir Othmane,
Avec des liens je ne sais pas faire, alors j'ai repris ce que vous avez commencé à faire avec Worksheet_SelectionChange :
VB:
Public NomFeuille ' Mémorise la feuille qui a été démasquée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Or Target = "" Then Exit Sub
    If Target.Column = 12 Then
        NomFeuille = Target ' Mémorisée pour être utilisé ensuite pour masquage
        On Error Resume Next
        Sheets(NomFeuille).Visible = xlSheetVisible
        Sheets(NomFeuille).Activate
    End If
Fin:
End Sub
Sub Worksheet_Activate() ' Remasque la feuille mémorisée dans NomFeuille
    If NomFeuille <> "" Then Sheets(NomFeuille).Visible = xlSheetHidden
End Sub
On...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Othmane,
Avec des liens je ne sais pas faire, alors j'ai repris ce que vous avez commencé à faire avec Worksheet_SelectionChange :
VB:
Public NomFeuille ' Mémorise la feuille qui a été démasquée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Or Target = "" Then Exit Sub
    If Target.Column = 12 Then
        NomFeuille = Target ' Mémorisée pour être utilisé ensuite pour masquage
        On Error Resume Next
        Sheets(NomFeuille).Visible = xlSheetVisible
        Sheets(NomFeuille).Activate
    End If
Fin:
End Sub
Sub Worksheet_Activate() ' Remasque la feuille mémorisée dans NomFeuille
    If NomFeuille <> "" Then Sheets(NomFeuille).Visible = xlSheetHidden
End Sub
On en profite pour mémoriser le nom de la feuille qu'on démasque. Lorsqu'on active la feuille HISTORIQUE FACTURES, on remasque la feuille mémorisée.
 

Pièces jointes

  • FACTURE (1).xlsm
    42.1 KB · Affichages: 5

Othmane204

XLDnaute Nouveau
Bonsoir Othmane,
Avec des liens je ne sais pas faire, alors j'ai repris ce que vous avez commencé à faire avec Worksheet_SelectionChange :
VB:
Public NomFeuille ' Mémorise la feuille qui a été démasquée
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Fin
    If Target.Count > 1 Or Target = "" Then Exit Sub
    If Target.Column = 12 Then
        NomFeuille = Target ' Mémorisée pour être utilisé ensuite pour masquage
        On Error Resume Next
        Sheets(NomFeuille).Visible = xlSheetVisible
        Sheets(NomFeuille).Activate
    End If
Fin:
End Sub
Sub Worksheet_Activate() ' Remasque la feuille mémorisée dans NomFeuille
    If NomFeuille <> "" Then Sheets(NomFeuille).Visible = xlSheetHidden
End Sub
On en profite pour mémoriser le nom de la feuille qu'on démasque. Lorsqu'on active la feuille HISTORIQUE FACTURES, on remasque la feuille mémorisée.
Bonsoir @sylvanu,

Merci pour votre retour, j'ai essayé de changer Sheets(NomFeuille) en Sheets(Sheets.Count) pour selectionner la dernière feuille mais cela n'a pas marche. Avez vous une méthode pour ca ?

Et question comment changer la valeur de NomFeuille
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je ne vois pas le rapport entre votre demande initiale :
s'il y a moyen d'afficher une feuille masquée suivant son lien hypertexte, et la remasquer lorsqu'on active une autre feuille.
et votre nouvelle demande ?
Est ce qu'au moins la solution que je vous ai proposé vous satisfait ?
On utilise le contenu de la cellule pour accéder à la feuille.

Ensuite, Sheets.Count va vous donner le nombre de feuilles présentes dans le classeur.
Soit pour votre fichier 5.
Et quand vous faites Sheets(5) vous avez une erreur car la Feuil5 n'existe pas. Vous avez les feuilles 1,2,3,4,11.
 

Othmane204

XLDnaute Nouveau
Bonjour,
Je ne vois pas le rapport entre votre demande initiale :

et votre nouvelle demande ?
Est ce qu'au moins la solution que je vous ai proposé vous satisfait ?
On utilise le contenu de la cellule pour accéder à la feuille.

Ensuite, Sheets.Count va vous donner le nombre de feuilles présentes dans le classeur.
Soit pour votre fichier 5.
Et quand vous faites Sheets(5) vous avez une erreur car la Feuil5 n'existe pas. Vous avez les feuilles 1,2,3,4,11.
Oui oui, c'est bon merci pour votre aide et vos excplications.
Bonne journée à vous !!
 

Discussions similaires

Statistiques des forums

Discussions
312 107
Messages
2 085 358
Membres
102 874
dernier inscrit
Petro2611