Macro ouverture classeur

Bonjour,

Je voudrais configurer mon classeur Excel de sorte qu'en l'ouvrant je tombe sur une feuille précise et que toutes les autres feuilles soient fermées. Existe-il une macro pour ce faire ?

Merci d'avance

Bonjour,

oui, il en existe une ...

@ bientôt

LouReeD

Non, mais je plaisante...

Je répondais juste à votre question....

Voici un (des) code(s) :

Private Sub Workbook_Open()
    Dim Cpt As Integer
    Sheets(1).Activate
    For Cpt = 2 To ThisWorkbook.Worksheets.Count
        Sheets(Cpt).Visible = xlVeryHidden
    Next Cpt
End Sub

Je ne suis pas sur que le Sheets(1).activate soit obligatoire.

Situation du fichier : c'est la feuille dont l'onglet est le plus à gauche qui reste visible (1) et ce sont les feuilles à sa droite qui sont masquées, donc de la feuille 2 à la feuille F qui est égale au nombre de feuilles contenues dans le classeur...

@ bientôt

LouReeD

Bonjour,

oui, il en existe une ...

@ bientôt

LouReeD

Merci pour votre réponse, j'attends la suite avec impatience

Oups ! Vous n'avez pas du "scroller" la page....

La "bonne" réponse est juste en dessous de celle du dessus !

@ bientôt

LouReeD

Bonjour

ou comme ca

A+

Maurice

Private Sub Workbook_Open()
Dim Ws As Object
    For Each Ws In ThisWorkbook.Sheets
          Select Case Ws.Name
             Case Feuil1.Name
                Ws.Visible = -1 ' decache onglet
'             Case Feuil3.Name
'             Case Feuil5.Name
             Case Else
                Ws.Visible = 2 ' Cache onglet
          End Select
    Next
End Sub

@Ymerine et LouReeD,

Moi, c'que je me demande, surtout, c'est de quelle façon Ymerine veut indiquer la feuille précise sur laquelle il faudra tomber, cela avant même l'ouverture du classeur ? cette question est valable seulement si on veut aller sur une feuille qui n'est pas toujours la même ; mais apparemment, selon les messages qui ont suivi, c'est toujours sur la même feuille : la première feuille du classeur.

dhany

Non, mais je plaisante...

Je répondais juste à votre question....

Voici un (des) code(s) :

Private Sub Workbook_Open()
    Dim Cpt As Integer
    Sheets(1).Activate
    For Cpt = 2 To ThisWorkbook.Worksheets.Count
        Sheets(Cpt).Visible = xlVeryHidden
    Next Cpt
End Sub

Je ne suis pas sur que le Sheets(1).activate soit obligatoire.

Situation du fichier : c'est la feuille dont l'onglet est le plus à gauche qui reste visible (1) et ce sont les feuilles à sa droite qui sont masquées, donc de la feuille 2 à la feuille F qui est égale au nombre de feuilles contenues dans le classeur...

@ bientôt

LouReeD

ça ne fonctionne pas j'ai même essayé de remplacer Sheets(1) par le nom de la feuille en question mais rien n'y fait

Bonjour

ou comme ca

A+

Maurice

Private Sub Workbook_Open()
Dim Ws As Object
    For Each Ws In ThisWorkbook.Sheets
          Select Case Ws.Name
             Case Feuil1.Name
                Ws.Visible = -1 ' decache onglet
'             Case Feuil3.Name
'             Case Feuil5.Name
             Case Else
                Ws.Visible = 2 ' Cache onglet
          End Select
    Next
End Sub

Quels sont les champs à adapter en fonction des données de mon classeur ?

Ci joint un fichier avec "mon code" :

11test-loureed.xlsm (12.60 Ko)

le fichier s'ouvre, active la feuille 1, masque les feuilles de 2 à trois...

Faite les test : ajoutez des feuilles puis fermez / enregistrez le fichier, puis ouvrez le...

Seule la feuille 1 (index 1 = feuille la plus à gauche du classeur) est visible.

@ bientôt

LouReeD

Ci joint un fichier avec "mon code" : Test_LouReeD.xlsm

le fichier s'ouvre, active la feuille 1, masque les feuilles de 2 à trois...

Faite les test : ajoutez des feuilles puis fermez / enregistrez le fichier, puis ouvrez le...

Seule la feuille 1 (index 1 = feuille la plus à gauche du classeur) est visible.

@ bientôt

LouReeD

Dans la fenêtre "visual basic", je suis allée sur "insertion" puis "module" et j'ai collé la macro

Ensuite dans le classeur, j'ai ouvert une autre feuille que celle que je veux afficher au démarrage

Enregitré et fermé

Les macros lancées à l'ouverture du classeur se trouve dans "ThisWorkBook" (double clic pour voir le code)

Ensuite il faut utiliser la sub "Open" de ThisWorkBook.

@ bientôt

LouReeD

Les macros lancées à l'ouverture du classeur se trouve dans "ThisWorkBook" (double clic pour voir le code)

Ensuite il faut utiliser la sub "Open" de ThisWorkBook.

@ bientôt

LouReeD

Ca marche

Je vous remercie énormément

Mille merci

un "smilet" d'étonnement !? Permettez

Pas de soucis, merci à vous de vos 1000 remerciements !

@ bientôt

LouReeD

Bonjour

ou comme ca

A+

Maurice

Private Sub Workbook_Open()
Dim Ws As Object
    For Each Ws In ThisWorkbook.Sheets
          Select Case Ws.Name
             Case Feuil1.Name
                Ws.Visible = -1 ' decache onglet
'             Case Feuil3.Name
'             Case Feuil5.Name
             Case Else
                Ws.Visible = 2 ' Cache onglet
          End Select
    Next
End Sub

Merci beaucoup @archer pour le code

Rechercher des sujets similaires à "macro ouverture classeur"