Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 VBA Ajouter ou enlever la protection d'un onglet

frederio

XLDnaute Impliqué
Bonjour à tous

Tu vous connais comment faire ?
comment faire protéger ou enlever ajouter VBA

Si tu veux être d’accord avec moi ??? vous m’aidez a expliqué comme Excel Merci
 

Pièces jointes

  • VBA Ajouter ou enlever la protection d'un onglet.xlsm
    76.1 KB · Affichages: 4

Staple1600

XLDnaute Barbatruc
Bonsoir

Avec deux macros
VB:
Sub proteger()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
    ws.EnableSelection = xlUnlockedCells
    Next
End Sub
Sub deproteger()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Unprotect
    Next
End Sub
Il faut ensuite affecter la macro à chaque bouton
Puis enregistrer sous au format *.xlsm
(pour conserver les macros)

Ci-dessous lien vers un tutoriel pour Affecter une macro à un bouton
 

frederio

XLDnaute Impliqué
bonsoir
comment faire ?

Sur la 1ère feuille "CHAMPIONNANT"
Sur la 2ère feuille "SAISON"
= protéger ou enlever

Sur la 3ère feuille "LES RESULTATS DES MATCHS"
Sur la 4ère feuille "%"
=reste protéger

Sur la feuille pas tous enlever protection
merci
 

Pièces jointes

  • VBA Ajouter ou enlever la protection d'un onglet.xlsm
    25.2 KB · Affichages: 1

Staple1600

XLDnaute Barbatruc
Bonjour

En bouclant sur le nom des feuilles
Code:
Sub protegerB()
Dim ws As Worksheet
For Each ws In Worksheets
Select Case ws.Name
Case "CHAMPIONNAT", "SAISON"
ws.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, _
            AllowFiltering:=True, AllowUsingPivotTables:=True
ws.EnableSelection = 1
Case Else
ws.Unprotect
End Select
Next
End Sub
Dans cet exemple, seules les feuilles CHAMPIONNAT et SAISON seront protégées.
 

frederio

XLDnaute Impliqué
bonjour j ai trouve le code VBA

VB:
Sub Proteger()
On Error Resume Next
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
  Sheets("SAISON").Protect UserInterFaceOnly:=True
    Sheets("CHAMPIONNANT").Protect UserInterFaceOnly:=True
End Sub
Public Sub Deproteger()
    'On Error Resume Next

Application.ScreenUpdating = False

'enlever protection feuilles
    Sheets("SAISON").Select
    ActiveSheet.Unprotect ("EQUIPES")
    Sheets("CHAMPIONNANT").Select
    ActiveSheet.Unprotect ("EQUIPES")

End Sub
 

Pièces jointes

  • VBA Ajouter ou enlever la protection d'un onglet.xlsm
    26.6 KB · Affichages: 0

Staple1600

XLDnaute Barbatruc
Bonjour

frederio
Oui tu l'as trouvé dans les réponses des messages#2 ou #4
PS: Tu n'es pas obligé de sélectionner les feuilles dans ton code VBA.

Pour infos
On dit CHAMPIONNAT et pas CHAMPIONNANT
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…