[RESOLU] Protection feuille et classeur

Bosco13

XLDnaute Occasionnel
Bonjour Le Forum,

j'ai actuellement un classeur et une feuille qui sont protegé par mdp

Pour eviter les erreurs par inadvertance ou changer le format et l'ajout de lignes..! par des utilisateurs j'ai proteger la feuille et le classeur
par un mdp.

ce mdp de la feuille est annulé par des boutons qui permettent au utilisateurs de coloriser certaines cellules de de la feuille du style :
Private Sub CommandButton5_Click()

ActiveSheet.Unprotect Password:="12345" ( deprotection auto pour les utilisateurs)
Selection.Interior.ColorIndex = 48
'Selection.Font.ColorIndex = 0
'Selection.ClearContents
ActiveSheet.Protect Password:="12345", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

mon problème est que j'ai besoin de de supprimer la protection classeur et feuille de temps en temps pour ajouter des lignes ou d'autre fonctions.. ( le projet VBA est proteger simplement pour petite disuasion)

Je souhaiterai ajouter deux boutons avec macro:
bouton 1 : protection feuille et classeur : me protegeant la feuille et le classeur
Bouton 2 : me demandant le mdp pour oter les protections

je vous remercie d'avance pour votre aide

Bosco13


EDIT : J'ai réussi a creer la macro pour proteger la feuille et le classeur:

il ne me manque plu que la macro qui me demande le mdp pour déproteger la feuille et le classeur


Merci a tous par avance
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Protection feuille et classeur

Bonjour Bosco13,

Voyez cette macro dans le fichier joint :

Code:
Sub Protections()
Dim o As Object
On Error Resume Next
With ActiveSheet
  Set o = .DrawingObjects(Application.Caller)
  If o Is Nothing Then Exit Sub
  If o.Text = "Ôter les protections" Then
    .Unprotect
    If .ProtectContents Then MsgBox "Mot de passe non valide...": Exit Sub
    .Parent.Unprotect "12345": _
    o.Text = "Mettre les protections"
  Else
    o.Text = "Ôter les protections"
    .Protect "12345"
    .Parent.Protect "12345"
  End If
End With
End Sub
Un seul bouton suffit...

A+
 

Pièces jointes

  • Protections(1).xls
    37.5 KB · Affichages: 45

Bosco13

XLDnaute Occasionnel
Re : Protection feuille et classeur

re job75,

j'ai une petite question

j'ai également la protection du projet VBA par mdp

mais y a t il aussi possibilité de griser tous l'onglet développeur sous excel 2010 en même temps

je vous remercie
bosco13
 

job75

XLDnaute Barbatruc
Re : Protection feuille et classeur

Re,

mais y a t il aussi possibilité de griser tous l'onglet développeur sous excel 2010 en même temps

Je suis sur Excel 2003, mais ça m'étonnerait que sur Excel 2007/2010 on puisse bricoler les commandes intégrées.

Avant de nous quitter, voyez le fichier (2) et la protection de plusieurs feuilles :

Code:
Sub Protections()
Dim w As Worksheet, o As Object, flag As Boolean
On Error Resume Next
For Each w In Worksheets
  Set o = Nothing
  Set o = w.DrawingObjects("MonBouton")
  If Not o Is Nothing Then
    If o.Text = "Ôter les protections" Then
      If flag Then w.Unprotect "12345" Else w.Unprotect
      If w.ProtectContents Then MsgBox "Mot de passe non valide...": Exit Sub
      flag = True
      w.Parent.Unprotect "12345"
      o.Text = "Mettre les protections"
    Else
      o.Text = "Ôter les protections"
      w.Protect "12345"
      w.Parent.Protect "12345"
    End If
  End If
Next
End Sub
PS : à la 10ème ligne de la macro (1) il y a les 3 caractères : _ ôtez-les ils ne servent à rien.

A+
 

Pièces jointes

  • Protections(2).xls
    42.5 KB · Affichages: 60
Dernière édition:

Bosco13

XLDnaute Occasionnel
Re : Protection feuille et classeur

Re Job75
de toute maniere finalement cela a peu d'importance
je vous remercie de votre aide;

La protection pour plusieurs feuilles fonctionne egalement

Super

encore une fois merci a vous
bonne soirée
Bosco13
 

Discussions similaires

Réponses
2
Affichages
158

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin