Bonjour la communauté,
J'ai un conflit entre 2 macro placées dans ThisWorkbook car elles contiennent le même argument "Private Sub Workbook_BeforeClose(Cancel As Boolean)".
Pensez-vous qu'il soit possible de concaténer ces 2 macro ?
VB:
'VERROUILLE LES PAGES A LA FERMETURE D'EXCEL
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
End Sub
'OUVRE EXCEL SUR LA PAGE ACCUEIL & NAVIGATION
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Worksheets("Accueil & Navigation").Activate
End Sub
Bonjour,
il suffit simplement de tout mettre à la suite :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
Application.ScreenUpdating = False
Worksheets("Accueil & Navigation").Activate
End Sub
Bonjour,
il suffit simplement de tout mettre à la suite :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
Application.ScreenUpdating = False
Worksheets("Accueil & Navigation").Activate
End Sub
Bonjour,
il suffit simplement de tout mettre à la suite :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
Application.ScreenUpdating = False
Worksheets("Accueil & Navigation").Activate
End Sub
Bonjour,
Je relance ce post car j'aimerai qu'à l'ouverture d'Excel tous les onglets soient masqués sauf l'onglet "Accueil & Navigation".
Le code de Yoyo1000 fonctionne mais il manquerait cet argument dans la deuxième partie du code.
Merci pour votre aide.
Tchotchodu31
Bonjour Tchotchodu,
Vous pouvez aussi mettre cette macro dans un Workbook_Open :
VB:
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "Accueil & Navigation" Then GoTo EndConsolidation ' car feuille Accueil & Navigation n'est pas a traitée.
Sh.Visible = False
EndConsolidation:
Next Sh
End Sub
ou l'inclure dans la macro Workbook_BeforeClose
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "Accueil & Navigation" Then GoTo EndConsolidation ' car feuille Accueil & Navigation n'est pas a traitée.
Sh.Visible = False
EndConsolidation:
Next Sh
Worksheets("Accueil & Navigation").Activate
End Sub
Bonjour Tchotchodu,
Vous pouvez aussi mettre cette macro dans un Workbook_Open :
VB:
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "Accueil & Navigation" Then GoTo EndConsolidation ' car feuille Accueil & Navigation n'est pas a traitée.
Sh.Visible = False
EndConsolidation:
Next Sh
End Sub
ou l'inclure dans la macro Workbook_BeforeClose
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "Accueil & Navigation" Then GoTo EndConsolidation ' car feuille Accueil & Navigation n'est pas a traitée.
Sh.Visible = False
EndConsolidation:
Next Sh
Worksheets("Accueil & Navigation").Activate
End Sub
Bonjour Sylvanu,
Merci pour ces 2 options qui fonctionnent très bien.
Je vais opter pour le Workbook_BeforeClose qui traite la requête à la fermeture.
Très bon week-end.
Tchotchodu31
Bonjour Tchotchodu,
Vous pouvez aussi mettre cette macro dans un Workbook_Open :
VB:
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "Accueil & Navigation" Then GoTo EndConsolidation ' car feuille Accueil & Navigation n'est pas a traitée.
Sh.Visible = False
EndConsolidation:
Next Sh
End Sub
ou l'inclure dans la macro Workbook_BeforeClose
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
Sh.Protect "TEST"
Next
Application.ScreenUpdating = False
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "Accueil & Navigation" Then GoTo EndConsolidation ' car feuille Accueil & Navigation n'est pas a traitée.
Sh.Visible = False
EndConsolidation:
Next Sh
Worksheets("Accueil & Navigation").Activate
End Sub
Re bonjour Sylvanu,
Est-il possible d'inclure le positionnement dans la cellule A1 de Accueil & Navigation ?
Exemple : ("Accueil & Navigation").Range("A1") -> j'ai essayé mais ça ne marche pas à cause du .activate je pense.
Tchotchodu31