Liens Hypertexte - Onglets

Le
JB
Bonjour,

Voici mon pn que j'arrive pas résoudre :
J'ai un classeur avec environ 50 feuilles
je souhaiterai du premier onglet (menu) joindre mes feuilles via un lien
hypetexte en prenant un nom dans la cellule A1 de chaque feuille.
Tout c'est ok
Mais je voudrai masquer mes 50 feuilles et ne conserver que la feuille Menu.
et ça marche pas
si qq a une solution ou un contournement
Merci Bien
Bonne soirée
JB1
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Nicolas B.
Le #6677011
Salut,

Ce que tu veux faire (en gros afficher une feuille qui est masquée)
n'est pas possible.

Deux solutions :

- Ne masquer aucune feuille mais masquer la barre contenant les onglets
du classeur (ça se règle dans les options d'Excel). Il faut alors mettre
dans chaque feuille un lien qui permet de revenir à la feuille de menu.

- Masquer toutes les feuilles sauf le menu et remplacer tes liens du
menu par des boutons associés à une macro qui démasque la feuille à
afficher et la sélectionne. De même des boutons dans chaque feuille
doivent remasquer la feuille actuellement sélectionner et retourner au menu.


Nicolas

Bonjour,

Voici mon pn que j'arrive pas résoudre :
J'ai un classeur avec environ 50 feuilles
je souhaiterai du premier onglet (menu) joindre mes feuilles via un lien
hypetexte en prenant un nom dans la cellule A1 de chaque feuille.
Tout c'est ok
Mais je voudrai masquer mes 50 feuilles et ne conserver que la feuille Menu.
et ça marche pas
si qq a une solution ou un contournement
Merci Bien
Bonne soirée
JB1




isabelle
Le #6678581
bonjour JB,

copie ces macro sur la page code de la feuille Menu,
'____________________________________________________________________
Dim x As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Address
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Sheets("Menu").Range(x).Offset(0, 1) = Split(Target.SubAddress, "!")
nn = Sheets("Menu").Range(x).Offset(0, 1)
With Sheets(nn)
.Visible = True
.Activate
End With
End Sub
'______________________________________________________________________

isabelle

Bonjour,

Voici mon pn que j'arrive pas résoudre :
J'ai un classeur avec environ 50 feuilles
je souhaiterai du premier onglet (menu) joindre mes feuilles via un lien
hypetexte en prenant un nom dans la cellule A1 de chaque feuille.
Tout c'est ok
Mais je voudrai masquer mes 50 feuilles et ne conserver que la feuille Menu.
et ça marche pas
si qq a une solution ou un contournement
Merci Bien
Bonne soirée
JB1




JB
Le #6679081
Merci de ta réponse, super !!!!
C'est presque ça
l'ideal serait que l'orsque on reouvre la feuille menu
toutes autres feuilles se remasquent.
Par contre je ne comprends pas pour quoi a coté du lien hypertexte sur la
feuille menu la cellule a droite prends la valeur du lien, mais c'est pas
génant

Encore merci d'avance

"isabelle" a écrit dans le message de news:
%
bonjour JB,

copie ces macro sur la page code de la feuille Menu,
'____________________________________________________________________
Dim x As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Address
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Sheets("Menu").Range(x).Offset(0, 1) = Split(Target.SubAddress, "!")
nn = Sheets("Menu").Range(x).Offset(0, 1)
With Sheets(nn)
.Visible = True
.Activate
End With
End Sub
'______________________________________________________________________

isabelle

Bonjour,

Voici mon pn que j'arrive pas résoudre :
J'ai un classeur avec environ 50 feuilles
je souhaiterai du premier onglet (menu) joindre mes feuilles via un lien
hypetexte en prenant un nom dans la cellule A1 de chaque feuille.
Tout c'est ok
Mais je voudrai masquer mes 50 feuilles et ne conserver que la feuille
Menu.
et ça marche pas
si qq a une solution ou un contournement
Merci Bien
Bonne soirée
JB1





isabelle
Le #6679991
bonjour JB,

j'ai modifier la procedure pour faire plus court et sans utiliser les cellules de la colonne B

'____________________________________________________________________
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
zz = Split(Target.SubAddress, "!")(LBound(Split(Target.SubAddress, "!")))
With Sheets(zz)
.Visible = True
.Activate
End With
End Sub

Private Sub Worksheet_Activate()
For Each f In Sheets
If f.Name <> "Menu" Then Sheets(f.Name).Visible = False
Next
End Sub
'______________________________________________________________________

isabelle



Merci de ta réponse, super !!!!
C'est presque ça
l'ideal serait que l'orsque on reouvre la feuille menu
toutes autres feuilles se remasquent.
Par contre je ne comprends pas pour quoi a coté du lien hypertexte sur la
feuille menu la cellule a droite prends la valeur du lien, mais c'est pas
génant

Encore merci d'avance

"isabelle" a écrit dans le message de news:
%
bonjour JB,

copie ces macro sur la page code de la feuille Menu,
'____________________________________________________________________
Dim x As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Address
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Sheets("Menu").Range(x).Offset(0, 1) = Split(Target.SubAddress, "!")
nn = Sheets("Menu").Range(x).Offset(0, 1)
With Sheets(nn)
.Visible = True
.Activate
End With
End Sub
'______________________________________________________________________

isabelle

Bonjour,

Voici mon pn que j'arrive pas résoudre :
J'ai un classeur avec environ 50 feuilles
je souhaiterai du premier onglet (menu) joindre mes feuilles via un lien
hypetexte en prenant un nom dans la cellule A1 de chaque feuille.
Tout c'est ok
Mais je voudrai masquer mes 50 feuilles et ne conserver que la feuille
Menu.
et ça marche pas
si qq a une solution ou un contournement
Merci Bien
Bonne soirée
JB1








JB
Le #6680891
Super de chez super !!!!!!!
Merci cela marche impec
Bonne journée

"isabelle" a écrit dans le message de news:
%
bonjour JB,

j'ai modifier la procedure pour faire plus court et sans utiliser les
cellules de la colonne B

'____________________________________________________________________
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
zz = Split(Target.SubAddress, "!")(LBound(Split(Target.SubAddress, "!")))
With Sheets(zz)
.Visible = True
.Activate
End With
End Sub

Private Sub Worksheet_Activate()
For Each f In Sheets
If f.Name <> "Menu" Then Sheets(f.Name).Visible = False
Next
End Sub
'______________________________________________________________________

isabelle



Merci de ta réponse, super !!!!
C'est presque ça
l'ideal serait que l'orsque on reouvre la feuille menu
toutes autres feuilles se remasquent.
Par contre je ne comprends pas pour quoi a coté du lien hypertexte sur la
feuille menu la cellule a droite prends la valeur du lien, mais c'est pas
génant

Encore merci d'avance

"isabelle" a écrit dans le message de news:
%
bonjour JB,

copie ces macro sur la page code de la feuille Menu,
'____________________________________________________________________
Dim x As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = ActiveCell.Address
End Sub

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
Sheets("Menu").Range(x).Offset(0, 1) = Split(Target.SubAddress, "!")
nn = Sheets("Menu").Range(x).Offset(0, 1)
With Sheets(nn)
.Visible = True
.Activate
End With
End Sub
'______________________________________________________________________

isabelle

Bonjour,

Voici mon pn que j'arrive pas résoudre :
J'ai un classeur avec environ 50 feuilles
je souhaiterai du premier onglet (menu) joindre mes feuilles via un
lien hypetexte en prenant un nom dans la cellule A1 de chaque feuille.
Tout c'est ok
Mais je voudrai masquer mes 50 feuilles et ne conserver que la feuille
Menu.
et ça marche pas
si qq a une solution ou un contournement
Merci Bien
Bonne soirée
JB1









isabelle
Le #6683041
bonjour JB,

pour optimiser un peu plus,

'____________________________________________________________________
Dim zz As String

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
zz = Split(Target.SubAddress, "!")(LBound(Split(Target.SubAddress, "!")))
With Sheets(zz)
.Visible = True
.Activate
End With
End Sub

Private Sub Worksheet_Activate()
Sheets(zz).Visible = False
End Sub

'______________________________________________________________________

isabelle

Super de chez super !!!!!!!
Merci cela marche impec
Bonne journée


JB
Le #6686831
Bonsoir Isa,

Merci bien,
mais il y a 1 pb lorsque on ferme le fichier avec une feuille ouverte en
plus du menu, a l'ouverture du fichier la macro se plante.
l'idéal serait qu'à la fermeture la feuille se masque ne laissant ainsi que
la feuille menu pour la prochaine ouverture.
Bon je sais j'abuse, mais merci déjà beaucoup pour ce que tu as fais
Bonne soirée
JB

"isabelle" a écrit dans le message de news:

bonjour JB,

pour optimiser un peu plus,

'____________________________________________________________________
Dim zz As String

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
zz = Split(Target.SubAddress, "!")(LBound(Split(Target.SubAddress, "!")))
With Sheets(zz)
.Visible = True
.Activate
End With
End Sub

Private Sub Worksheet_Activate()
Sheets(zz).Visible = False
End Sub

'______________________________________________________________________

isabelle

Super de chez super !!!!!!!
Merci cela marche impec
Bonne journée





isabelle
Le #6688181
bonjour JB,

Merci bien,
Bon je sais j'abuse, mais merci déjà beaucoup pour ce que tu as fais
Bonne soirée


:-) mais non voyons c'est avec plaisir,
ajoute celle ci sur la page code de ThisWorkBook

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each f In Sheets
If f.Name <> "Menu" Then Sheets(f.Name).Visible = False
Next
End Sub

isabelle

isabelle
Le #6688171
oup's j'avions oublié l'enregistrer de la modification.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each f In Sheets
If f.Name <> "Menu" Then Sheets(f.Name).Visible = False
Next
ThisWorkbook.Save
End Sub

isabelle

Bonsoir Isa,

Merci bien,
mais il y a 1 pb lorsque on ferme le fichier avec une feuille ouverte en
plus du menu, a l'ouverture du fichier la macro se plante.
l'idéal serait qu'à la fermeture la feuille se masque ne laissant ainsi que
la feuille menu pour la prochaine ouverture.
Bon je sais j'abuse, mais merci déjà beaucoup pour ce que tu as fais
Bonne soirée
JB

"isabelle" a écrit dans le message de news:

bonjour JB,

pour optimiser un peu plus,

'____________________________________________________________________
Dim zz As String

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
zz = Split(Target.SubAddress, "!")(LBound(Split(Target.SubAddress, "!")))
With Sheets(zz)
.Visible = True
.Activate
End With
End Sub

Private Sub Worksheet_Activate()
Sheets(zz).Visible = False
End Sub

'______________________________________________________________________

isabelle

Super de chez super !!!!!!!
Merci cela marche impec
Bonne journée








Amaury
Le #16394741
Bonjour Isabelle et JB

je dois réaliser une synthèse de bilan social avec un menu et masquer les
onglets des feuilles histoires de rendre le document plus propre et lisible,
donc ne pas oublier de rajouter un bouton à chaque fois pour aller à la page
suivante, précendente et retourner au menu, sans pour autant afficher tous
ces onglets et que ca devienne illisible.

Pourriez vous me ré expliquer la procédure, car j'ai un peu de mal à tout
comprendre.

Merci
Publicité
Poster une réponse
Anonyme