Formes avec lien hypertexte, comment cacher les onglets ?

Barazouti

XLDnaute Nouveau
Bonjour tout le monde,

Voici mon premier post.

J'aimerais solliciter votre aide, mon problème est le suivant ;
Je souhaiterais cacher les onglets (sauf le premier bien entendu) et garder en fonctionnement mes liens hypertextes associés. Ces liens sont dans une forme.
J'ai visité pas mal de post, mais la plupart utilise des liens dans des cellules cela doit être différent car je n'y arrive pas en copiant les codes. (même si c'est pas bien, car je n'apprend rien).

Le but de mon post c'est de trouver une solution, mais aussi de comprendre le cheminement.

Il y avait un début de post qui semblait pouvoir éviter mon post mais le membre n'a pas été "correct" --->https://www.excel-downloads.com/threads/lien-hypertexte-et-onglet-masque.161876/

Bien entendu si vous pouvez m'expliquer la différence entre module qui sert certainement au code VBa (actions), la feuille et surtout "ThisWorkbook" qui appriori sert pour l'ensemble des feuilles.

Mes recherches ont donné les résultats suivant :

1/ Activer le classeur avec thisworkbook :
Private Sub Workbook_Open()

End Sub

creer un code pour chaque forme tel que :
Sub bouton_clic()
a = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Caption
a = "Feuil" & a
Sheets(a).Visible = True
Sheets(a).Activate
End Sub

Mais ca ne marche pas pour moi les onglets reste visible

en creusant j'ai trouvé qu'il fallait peut etre rajouter un bouton avec un le code suivant :

EnableEvents = False
With ActiveWorkbook
For i = 2 To .Sheets.Count
.Sheets(i).Visible = False
Next
End With
EnableEvents = True
End Sub

Ensuite d'autres recherches ont donné ces solutions :

2/ j'ai trouver également ça uniquement
Sheets("Feuil2").Visible = True

Mais je ne sais pas ou l’insérer

J'ai trouver d'autres choses mais j'aimerais arrêter d'être dans le flou.

Merci d'avance les amis !
 

job75

XLDnaute Barbatruc
Bonjour Barazouti, bienvenue sur XLD,

Pourquoi des liens hypertextes puisqu'il s'agit de masquer ou afficher des feuilles ?

Il serait bien plus judicieux d'utiliser des cases à cocher (une par feuille).

A+
 

Barazouti

XLDnaute Nouveau
Bonjour job75,

Alors réponse pertinente, le souci c'est que je veux rendre un fichier excel avec une seule page, cette page sert de "menu".

Si c'était uniquement pour moi je n'aurais pas besoin de masquer les feuilles.
Je veux un rendu "Pro" et ne pas laisser des personnes toucher à ses onglets, ni même savoir qu'ils y sont.

Je ne sais pas si c'est plus compréhensible, il est donc pas possible pour moi de mettre des cases à cocher.
 

job75

XLDnaute Barbatruc
Maintenant avec des Shapes pas besoin de liens hypertextes, juste cette macro :
VB:
Sub Go()
With Sheets(DrawingObjects(Application.Caller).Text)
    .Visible = xlSheetVisible
    Application.Goto .[A1], True
End With
End Sub
 

Pièces jointes

  • onglet masqué(1).xlsm
    33.7 KB · Affichages: 12

Barazouti

XLDnaute Nouveau
Merci beaucoup Job75 !

Le problème c'est que ça ne marche pas pour mon fichier. je sais pas pourquoi.
Je copie colle le code et l'affecte à mes formes mais ça ne fonctionne pas.

Je pense que je vais arrêter de m'enteter avec ce sujet ..
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
315 097
Messages
2 116 186
Membres
112 679
dernier inscrit
Yupanki