Comment afficher toujours la même feuille à l'ouverture ?

Bonjour à tous, je vous expose le problème :

J'ai un fichier excel qui comporte une liste déroulante ou chaque sélection ouvre un panel de feuilles associées à la sélection par un clic sur une icône de validation de saisie. Le soucis, c'est que lorsque l'on quitte le fichier excel en enregistrant, à la ré-ouverture de ce dernier on se retrouve sur la feuille d'où l'on a quitter. Or, j'aimerais qu'a chaque ouverture ce soit toujours la même feuille qui s'affiche ( la feuille "Accueil" ). Auriez vous un code pour faire cela ? J'ai bien essayé

Sub Workbook_Open()
Feuil25.Activate
' Feuil25 = Feuille d'accueil
End Sub

mais bon ca marche pas. Merci d'avance

Ps : Mon fichier exemple est trop volumineux pour être mis a dispo sur le site :/

Bonjour

Private Sub Workbook_Open()
Sheets("Feuil25").Activate
End Sub

Cordialement

Bonjour,

Une possibilité :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Feuil25.Activate
ActiveWorkbook.Save
End Sub

A+

Les deux solutions ne fonctionne pas --'

J'ai ce code

Private Sub Workbook_Open()
Dim sh As Integer
For sh = 1 To ThisWorkbook.Sheets.Count
    If UCase(Sheets(sh).Name) <> "ACCUEIL" Then Sheets(sh).Visible = xlSheetVeryHidden
Next
End Sub

En revanche il est pour un autre fichier que l'on m'a fourni sur le forum et je n'arrive pas à l'adapter au mien.

Je vous ré-explique une situation exemple : J'ai une feuille d'accueil qui demande de sélectionner un service, je souhaiterais que cette feuille d'accueil soit ouverte par défaut à l'ouverture du fichiers avec deux autres feuilles, ce qui nous fait trois feuilles à l'ouverture :

Accueil / Évaluation nombre chantiers 5S / Objectifs 5S

Dans la feuille d'accueil il y a une liste déroulante qui demande de choisir un service, quand on choisit un service, la feuille d'accueil se masque et les feuille du service sélectionner s'affichent. Or si l'on quitte le fichier en enregistrant sur une page d'un service, lors de la réouverture de celui çi on se retrouve sur la page d’où l'on a quitter, et je souhaiterais qu'a l'ouverture ce sois toujours les trois feuilles Accueil / Évaluation nombre chantiers 5S / Objectifs 5S qui s'ouvrent.

Voila j’espère avoir été plus clair, je vous remercie d'avance.

Ps : En PJ un fichier ou se trouve le code que j'ai mis plus haut, qui ressemble a mon vrai fichier mais qui n'utilise pas le même code pour la liste déroulante.

129projet-1-1.xlsm (58.26 Ko)

Bonjour,

dans thisworkbook:

Private Sub Workbook_Open()
Sheets("Accueil").Activate
sheets("Évaluation nombre chantiers 5S").visible= true
sheets("Objectifs 5S").visible= true
End Sub

ensuite si les feuilles ne varient pas c'est simple, tu mets dans:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
sheets("feuilxx").visible= False
sheets("feuilyy").visible= False
end sub

Merci pour ta solution, en me creusant un peu les méninges j'ai écris ce code, effectivement c'était pas trop compliqué au final :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("Montage REPA").Visible = False
Sheets("Montage LABO").Visible = False
Sheets("Montage MGM").Visible = False
Sheets("Outillage OUT").Visible = False
Sheets("Reception RCT").Visible = False
Sheets("Planning").Visible = False
Sheets("Traitement Thermique TTH").Visible = False
Sheets("Usinage USI").Visible = False
Sheets("Administration SOUS-SOL").Visible = False
Sheets("Administration RDC").Visible = False
Sheets("Administration 1er ETAGE").Visible = False
Sheets("Administration 2eme ETAGE").Visible = False
Sheets("Entretien ENT").Visible = False
Sheets("Magasin MAG").Visible = False
Sheets("Methode BM").Visible = False
Sheets("Exterieur EXT").Visible = False
Sheets("Accueil").Visible = True
Sheets("Accueil").Activate
End Sub

En revanche, heureusement que je n'avais pas énormément de feuilles, aurais tu une solution pour simplifier mon code avec une fonction logique du style if/for etc.. ? ( au cas ou je me retrouve avec une centaine de feuilles par exemple )

Bonjour,

ceci permet de masquer toutes les feuilles sauf "Accueil" puisque dans excel on peut pas masquer toutes les feuilles

Public Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Object
On Error Resume Next
For Each sh In Sheets
If sh.Name <> "Accueil" Then
sh.Visible = False
Sheets("Accueil").Visible = True
End If
Next sh
End Sub

Merci pour ton code

Rechercher des sujets similaires à "comment afficher meme feuille ouverture"