Activation d'une macro avec des onglet cachés?

SETILA

XLDnaute Junior
Bonjour à tous,
Je travaille sur un fichier de planning auquel les onglet son cachés et activé par VBA.
je dois activer une macro à la fermeture, donc j'ai écrit ce code (Novice) ci-dessous:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Sheets("dimanche").Visible = xlSheetVisible
Sheets("lundi").Visible = xlSheetVisible
Sheets("mardi").Visible = xlSheetVisible
Sheets("mercredi").Visible = xlSheetVisible
Sheets("jeudi").Visible = xlSheetVisible
Sheets("vendredi").Visible = xlSheetVisible
Sheets("samedi").Visible = xlSheetVisible
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Sheets
sh.Activate
Call Bouton11_Cliquer
Next sh
Sheets("dimanche").Visible = xlVeryHidden
Sheets("lundi").Visible = xlVeryHidden
Sheets("mardi").Visible = xlVeryHidden
Sheets("mercredi").Visible = xlVeryHidden
Sheets("jeudi").Visible = xlVeryHidden
Sheets("vendredi").Visible = xlVeryHidden
Sheets("samedi").Visible = xlVeryHidden

End Sub

Ce code fonctionne parfaitement mais Excel devient fou!
J'ai essayer un code plus simple mais ça n'as pas fonctionné avec les onglets cachés!
Pouvez-vous m'aider à simplifier ce code? (ci-joint le fichier)
Pour info: pour rendre visible les onglets, click sur boutons des jours et le mdp est 1234
Merci d'avance pour votre aide

Cordialement,

Setila
 

Pièces jointes

  • test.xlsm
    563 KB · Affichages: 24

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonjour Setila,

remplace ton code par celui-ci:

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For Each sh In ActiveWorkbook.Sheets
sh.Activate
Call Bouton11_Cliquer
Next sh
For i = 2 To 8
Sheets(i).Visible = xlVeryHidden
Next i
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Je n'ai pas compris à quoi sert l'appel de Bouton11_Cliquer

à+
Philippe
 

SETILA

XLDnaute Junior
Bonjour Philippe,

Un grand merci pour ton code!
ton code est super rapide et surtout pas de bug.
Le Bouton10_Cliquer est un bouton qui masque les lignes(entière) si les cellules de la colonne B contient "0"
Et Le Bouton11_Cliquer est pour rendre visible
Mais je pense qu'elle est mal rédigé mais elle fonctionne bien !!!
Pouvez-vous m'aider pour transformer une formule en VBA :
='Etat staff'!B22 mais en vba (voir fichier), j'ai plusieurs fois essayer et comme les cellules doivent correspondre aux cellules de l'onglet Etat staff!?
Merci d'avance.

Setila
 

Discussions similaires