2 macro sur 1 seul bouton
bonjour,
voila j'ai 2 Macros
1 pour la protection de mes onglets et une pour l'ouverture de ceux ci
j'aimerai pouvoir sur 1 seul bouton faire fonctionner la macro protection si les onglets sont déprotégés et protégé si les onglets sont déprotégés
et si possible si je peux mettre un mot de passe pour les faire fonctionner cela serai extra
voila les macro
Sub Protection()
'
' Protection Macro
'
Application.ScreenUpdating = False
Sheets("Justificatif").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Sheets("Semaine1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Sheets("RecapMois").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Sheets("RapportActivité").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Sheets("MCVS").Select
Columns("H:CB").Select
selection.EntireColumn.Hidden = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Application.ScreenUpdating = True
Range("B15").Select
End Sub
Sub Ouverture()
'
' Ouverture Macro
'
'
Application.ScreenUpdating = False
Sheets("Justificatif").Select
ActiveSheet.Unprotect
Range("A4").Select
Sheets("Semaine1").Select
ActiveSheet.Unprotect
Range("A7").Select
Sheets("RecapMois").Select
ActiveSheet.Unprotect
Range("K2").Select
Sheets("MCVS").Select
ActiveSheet.Unprotect
Columns("G:CC").Select
selection.EntireColumn.Hidden = False
Range("A1:C1").Select
Application.ScreenUpdating = True
Range("B15").Select
End Sub
merci merci merci
bonjour,
je ferai une condition IF ELSE de type:
With ...
If .ProtectContents Then
.Unprotect(" mot de passe " )
Else
.Protect(" mot de passe " )
mais je ne sais pas si c'est adaptable à tes codes?
a+
Bonjour à tous
La proposition de Robinet me semble excellente.
Elle peut se concrétiser par :
Dim f, i
Sub Protection()
f = Array("Justificatif", "Semaine 1", "Recap mois", "Rapport activité", "MCVS")
For i = 0 To UBound(f)
With Sheets(f(i))
If .ProtectContents = False Then
.Protect Password:="maurice", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True
Else
Sheets(f(i)).Unprotect "maurice"
Range("A4").Select
End If
End With
Next i
End SubBye !
bonsoir Gmb
merci je vais essayer
Bonjour,
Cdlt
Dans module Feuil6(Menu)
Option Explicit
Private Sub cmdProtection_Click()
If Worksheets("Justificatif").ProtectContents Then
DeProtection_feuilles
cmdProtection.Caption = "Protéger les feuilles"
Else
Protection_feuilles
cmdProtection.Caption = "Déprotéger les feuilles"
End If
End SubDans Module1
Option Explicit
Option Private Module
Public Sub Protection_feuilles()
Dim tbl, c
With Worksheets("MCVS")
.Activate
.Columns("H:CB").EntireColumn.Hidden = True
.[B15].Select
End With
tbl = Array("Justificatif", "Semaine1", "RecapMois", "RapportActivité", "MCVS")
For Each c In tbl
Worksheets(c).Protect _
Password:="jeaneric", _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True, _
AllowFormattingCells:=True
Next
End Sub
'
Public Sub DeProtection_feuilles() '
Dim tbl, c
tbl = Array("Justificatif", "Semaine1", "RecapMois", "RapportActivité", "MCVS")
For Each c In tbl
Worksheets(c).Unprotect "jeaneric"
Next
With Worksheets("MCVS")
.Activate
.Columns("H:CB").EntireColumn.Hidden = False
.[B15].Select
End With
End Subbonsoir Jean Eric
ton code a l'air super mais je ne comprends pas tes histoires de module :
module feuille 6 menu et module 1
mes 2 macros se trouvent à la suite dans un module 3
et mes 2 boutons "ouverture" et "Protection" se trouve dans l'onglet "MCVS"
bouton ouverture se nomme "O" et Protection "P"
et bien sur si par malheur je reclique 2 fois sur protection comme il veut en même temps masquer des colonnes qui sont déjà masquées cela plante; c'est pour cela que je ne veux qu'un seul bouton comme cela quand c'est Protégé je ne peux que déprotéger et vis et versa
maintenant si en plus je peux changer le texte "o" en "P" et "p" en "o" suivant l'action possible super sinon sur le bouton je mettrai "O/P"
cordialement et merci
Re,
Bonsoir gmb,
J'ai répondu avec un exemple.
Tu n'as pas joint de fichier.
Qu’espérais-tu comme réponse adaptée? Ma réponse ne correspond pas à ta demande?
Tu as un bouton pour 2 macros :
1 - Protection
2 - Déprotection (pourquoi 'ouverture??)
Maintenant, tu as le principe. A toi de l'adapter.
A te relire.
Cdlt.
bonsoir Jean Eric
ok j'avais pas compris
je vais donc essayé de l'adapter demain
merci pour cette aide
Déprotégé ou ouverture pour moi cela est pareil
très très cordialement