masquer des onglets tout en pouvant travailler dessus

tibo.v1

XLDnaute Junior
Bonjour,
j'ai sur un un onglet (feuil1) une liste d'étape
chaque étape est un lien hypertexte sur une feuil
etape 1 est en lien sur l'onglet "feuil2"
etape 2 est en lien sur l'onglet "feuil3"
...etc
je voudrais quand on ouvre le document voir que l'onglet "feuil1"
et donc que les onglets sur lesquels il y un lien soient masqués
mais je veux également pouvoir, si on clic sur l'étape 1, allé sur l'onglet "feuil2"

comment faire ?
merci
 

Efgé

XLDnaute Barbatruc
Re : masquer des onglets tout en pouvant travailler dessus

Bonjour tibo.v1

Sans exemple, il est difficile de répondre correctement....
Une proposition dans le vide.
Il y a du code dans le module de la feuille PERSONNE, et dans le ThisWotkBook

Cordialement
 

Pièces jointes

  • On_me_vois_on_me_vois_pas.xlsm
    24.5 KB · Affichages: 77

tibo.v1

XLDnaute Junior
Re : masquer des onglets tout en pouvant travailler dessus

Bonjour,
cela me parait tres bien c'est ce que je voulais, merci.

petite question supplémentaire,
sur la feuille "personne" tu as des liens vers d'autre feuilles, le lien tu la fait comment, ce n'est pas un lien hypertexte ?
 

tibo.v1

XLDnaute Junior
Re : masquer des onglets tout en pouvant travailler dessus

- je reviens sur les liens que tu as fait, si j'ouvre un nouveau doc et que j’écris le nom de la feuille cela ne marche pas, tu utilises quoi pour faire ça ?

- je viens de tester sur mon doc, mes étapes ne sont pas a suivre, je penses que cela complique le pb.
je te mets en lien mon fichier, si tu pouvais y jeter un coup d’œil.

merci
 

Pièces jointes

  • test.xlsm
    160.4 KB · Affichages: 52
  • test.xlsm
    160.4 KB · Affichages: 101
  • test.xlsm
    160.4 KB · Affichages: 67

Efgé

XLDnaute Barbatruc
Re : masquer des onglets tout en pouvant travailler dessus

Re
Comme précisé au paravent, il FAUT que les feuilles portent le même nom que le texte dans les cellules.
Enlève les ' qui ne servent à rien et renomme tes feuilles.
D'autre part, le code doit être dans le module de la feuille concernée (L'onglet dont le nom est Feuil1) pas ailleurs.
Pour ta plage utilise :
Set Plg = .Range(.Cells(5, 2), .Cells(.Rows.Count, 3).End(3))
pour prendre en compte la colonne C ( .Cells(.Rows.Count, 3))

Comme tu utilises de belles images en tant que bouton, il faudra revoir la situation pour le retour à la feuille d'origine (Feuil1).
En attendant met en remarque la ligne Me.Visible = False

Cordialement
 

Si...

XLDnaute Barbatruc
Re : masquer des onglets tout en pouvant travailler dessus

salut

Si... je peux me permettre Efgé ;), avec une seule macro évènementielle* dans ThisWorbook
Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal R As Range)
  If R.Count > 1 Then Exit Sub
  If Not Intersect(R, [B2:B7]) Is Nothing And R <> "" Then
    Sheets(R.Text).Visible = -1: Sheets("ACCUEIL").Visible = 0
  Else
    If Sh.Name <> "ACCUEIL" Then _
        If R.Address = "$A$1" Then [A2].Select: Sheets("ACCUEIL").Visible = -1: Sh.Visible = 0
   End If
End Sub

*clic sur la cellule pour aller à l'onglet dont le nom est dans cette cellule

Maintenant, on peut choisir d'aller de feuille en feuille sans passer obligatoirement par l'ACCUEIL mais c'est une autre histoire.
 

Pièces jointes

  • Aller vers onglet.xlsm
    25.8 KB · Affichages: 57

tibo.v1

XLDnaute Junior
Re : masquer des onglets tout en pouvant travailler dessus

ok ça fonctionne
encore un petit soucis,
exemple "4" "etape 4"
je clic sur le lien
la feuille s'ouvre
en A1 je clic et je reviens a la page d'accueil
dés que je mets une info et que je clic dessus dans la case A2 et celles du dessous alors j'ai une erreur visual basic
c'est ou le beug ?
 

Pièces jointes

  • test-V2.xlsm
    94.8 KB · Affichages: 57
  • test-V2.xlsm
    94.8 KB · Affichages: 58
  • test-V2.xlsm
    94.8 KB · Affichages: 63

Efgé

XLDnaute Barbatruc
Re : masquer des onglets tout en pouvant travailler dessus

Re
Bonjour Si... :)
Je pense que si ne m'en voudra pas
Remplace le code par
VB:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal R As Range)
    If R.CountLarge > 1 Then Exit Sub
    On Error Resume Next 'si la feuille n'éxiste pas on sortira sans rien faire.
    If Sh.Name <> "Accueil" Then
        If R.Address = "$A$1" Then [A2].Select: Sheets("Accueil").Visible = -1: Sh.Visible = 0
    ElseIf Not Intersect(R, [A3:A20]) Is Nothing Then
        Sheets(R.Text).Visible = -1: Sheets("Accueil").Visible = 0
    End If
    On Error GoTo 0
End Sub

Cordialement
 

tibo.v1

XLDnaute Junior
Re : masquer des onglets tout en pouvant travailler dessus

dernière question
si je fais clic droit sur l'onglet accueil je peux faire afficher les onglets masqués
il y a possibilité d'empêché ça, sans casser ce qui a été fait avant ?
 

Efgé

XLDnaute Barbatruc
Re : masquer des onglets tout en pouvant travailler dessus

Re
En utilisant cette ligne :
VB:
If R.Address = "$A$1" Then [A2].Select: Sheets("Accueil").Visible = -1: Sh.Visible = xlVeryHidden
Les feuilles ne pourront être affichées qu'avec une macro (xlVeryHidden, veux bien dire ce que ça veux dire :D ).
Cordialement
 

Efgé

XLDnaute Barbatruc
Re : masquer des onglets tout en pouvant travailler dessus

Bonjour tibo.v1

Pour "lancer" la procédure, Il faut activer chaque feuille et revenir sur l'onglet accueil au moins une fois.
C'est au retour sur la feuille accueil que l'onglet est "veryhidden"
Si tu vas sur la feuille 4 et que tu retourne sur l'onglet accueil, tu ne peux plus afficher l'onglet 4, et ainsi de suite....

Si tu trouve cette méthode trop longue, tu lance une foi cette macro:
VB:
Sub Tout_Masquer()
Dim F As Worksheet
For Each F In Worksheets
    F.Visible = IIf(F.Visible = False, xlVeryHidden, True)
Next F
End Sub
et le processus est commencé.
Tu peux ensuite supprimer la macro "Tout_Masquer", tu n'en auras plus besoin.
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 500
Messages
2 089 013
Membres
104 004
dernier inscrit
mista