macro pour protéger par mot de passe toutes les feuilles d'un classeur

le yonnais

XLDnaute Junior
- bonsoir , je souhaiterais savoir si , il est possible de mettre en place une macro pour protéger automatiquement toutes les feuilles de n'importe quel classeur excel par mot de passe en même temps , ceci pour éviter de protéger les feuilles une par une .
- j'ajoute que je n'ai aucune connaissance en la matiére . Merci a vous ;
:confused:
 

Staple1600

XLDnaute Barbatruc
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Re


Préambule: il serait sans doute souhaitable que tu anonymises ton fichier (comme le demande la charte du forum)
car il semble contenir des infos relativement confidentielles, non ?
Comme il s'agit ici que de protéger des feuilles, elles peuvent contenir aucunes données.

Voici les modifications
(code VBA dans feuille nommée Feuil1)
Il faut affecter la macro boutonP au bouton nommé "protéger les feuilles"
Je te laisse deviner quelle macro il faut affecter au bouton utilisé pour les déprotéger ;)
Code:
Sub boutonP()
'bouton protection
Dim mdp$
mdp = InputBox("Saisir ici le mot de passe requis", "SECURITE- PROTECTION")
Select Case mdp
Case Is = "6319"
Call protection
Case Else
Exit Sub
End Select
End Sub
Code:
Sub boutonDP()
'bouton déprotection
Dim mdp$
mdp = InputBox("Saisir ici le mot de passe requis", "SECURITE-DEPROTECTION")
Select Case mdp
Case Is = "6319"
Call deprotection
Case Else
Exit Sub
End Select
End Sub
Code:
Sub deprotection()
verrou "ouvert"
End Sub
Code:
Sub protection()
verrou "fermé"
End Sub
Code:
Sub verrou(etat As String)
Dim ws As Worksheet
For Each ws In Worksheets
Select Case etat
Case Is = "ouvert"
ws.Unprotect
Case Is = "fermé"
ws.Protect
End Select
Next ws
End Sub
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Re

Non je veux parler de ce qu'on peut lire sur la feuille mai
Adresse, SIRET, matricule etc... :rolleyes:

Pour tester des macros de protection/déprotection les feuilles peuvent contenir aucune données.
Et au moins, ta PJ sera raccord avec la charte du forum ;)
 

le yonnais

XLDnaute Junior
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

- a ok , pour les adresses de la société , SIRET , les données sont consultables sur internet , le matricule ; si tu n'as pas le nom qui y correspond , ça ne sert a rien . Mais tu as raison , il faut respecter la charte du Forum , j'y penserais la prochaine fois que je laisserais un post avec une piéce jointe ; Au fait , j'ai deviné quelle macro il faut affecter au bouton utilisé pour déprotéger les feuilles ;) ; tout fonctionne correctement comme je le souhaitais grâce a toi ; je te remercie pour toutes tes explications et surtout pour ta patience . je te souhaite de bonnes fêtes de fin d'années et mes meilleurs voeux pour l'année 2014 ;
 

JCGL

XLDnaute Barbatruc
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Bonjour à tous,

Un essai avec un bouton bascule :

VB:
Option Explicit

Private Sub TB1_Click()
    Dim Feuil As Worksheet


    With Application
        .ScreenUpdating = 0
        .Calculation = xlCalculationManual
    End With


    For Each Feuil In Worksheets
        If TB1 = False Then
            TB1.Caption = "Déprotéger les feuilles"
            TB1.BackColor = &HC0E0FF
            Feuil.Protect "6319"
        End If
        If TB1 = True Then
            TB1.Caption = "Protéger les feuilles"
            TB1.BackColor = &HC0FFC0
            Feuil.Unprotect "6319"
        End If
    Next Feuil


    With Application
        .ScreenUpdating = 1
        .Calculation = xlCalculationAutomatic
    End With


End Sub

A+ à tous
 

Pièces jointes

  • JC Protection_Déprotection par Bouton Bascule.xlsm
    86.5 KB · Affichages: 50

le yonnais

XLDnaute Junior
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Bonjour , je vous remercie pour ce fichier en pièce jointe avec un code ( bouton bascule ) pour protection feuilles .je le mets en pratique aussitôt que possible et je vous tiens au courant .Merci , à bientôt .
 

Staple1600

XLDnaute Barbatruc
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Bonjour à tous , JCGL ;)

Un mix de ma logique avec le code de JCGL
(histoire d'encore varier les plaisirs et d'occuper ce dimanche maussade)


Dans le code de la feuille (où se situe le bouton bascule nommé TB1)
Code:
Private Sub TB1_Click()
    Dim Feuil As Worksheet
    With Application
        .ScreenUpdating = 0
        .Calculation = xlCalculationManual
    End With
    For Each Feuil In Worksheets
            TB1.Caption = IIf(TB1, "Déprotéger", "Protéger") & " les feuilles."
            TB1.BackColor = IIf(TB1, &HC0FFC0, &HC0E0FF)
            Feuil.Activate
            Application.Run IIf(TB1, "MP", "MDP")
    Next Feuil
    With Application
        .ScreenUpdating = 1
        .Calculation = xlCalculationAutomatic
    End With
    Me.Activate
End Sub

Dans un module standard

Code:
Sub MP()
ActiveSheet.Protect
End Sub
Code:
Sub MDP()
ActiveSheet.Unprotect
End Sub
 

le yonnais

XLDnaute Junior
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

- bonjour Staple1600 et JCGL , les deux versions fonctionnent aussi bien l'une que l'autre mais pour occuper ce dimanche maussade pour tout le monde , je crois , ne serait-il pas possible , histoire d'améliorer encore les choses , que le mot de passe me soit obligatoirement demandé pour protéger les feuilles ou déprotéger les feuilles ? ce qui ne se produit pas dans les 2 versions .
- Merci a vous .
- je me suis aperçu aussi , dans la version de Staple1600 au post#31 , qui utilise un mot de passe sur le bouton pour déprotéger toutes les feuilles qu'en protégeant ou déprotégeant les feuilles une par une , il n'y avait aucun mot de passe qui m'était demandé ; n'y aurait-il pas une solution pour remédier a cela ( de telle sorte que le mot de passe me soit demandé même pour protéger ou déprotéger les feuilles une par une ) ; quand mon classeur sera complet et opérationnel , il sera sur un p-c , sur mon lieu de travail ( p-c accessible a mes collégues bien sur ) et je ne veux pas que quelqu'un puisse le modifier .
 

Staple1600

XLDnaute Barbatruc
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Re

le yonnais
Euh dans ma dernière version, il n'y pas de mot de passe (ni demandé ni appliqué) ;)

Quand à ma version avec un Inputbox, elle était là, car j'avais compris que tu voulais qu'un mot de passe autorisant le lancement de la macro quand on clique sur un bouton.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Re


Tu aurais du préciser cela avant
quand mon classeur sera complet et opérationnel , il sera sur un p-c , sur mon lieu de travail ( p-c accessible a mes collégues bien sur ) et je ne veux pas que quelqu'un puisse le modifier .

Car la protection ici mise ne place n'est qu'illusoire
(Elle est utilisable qu'avec des utilisateurs novices d'Exel)

Or dans un monde ou Inernet existe, on ne reste pas novice longtemps ;)

(On trouve facilement sur le net des exemples de macro permettant de supprimer la protection d'une feuille et ce même si le mot de passe est compliqué)
 

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Bonjour,

Je ne fais que passer...
Juste pour informer le yonnais que je supprime la pièce jointe pour éviter que son employeur ne m'appelle dans 2 ans et me demande de le faire.
Oui, oui ça arrive plus souvent qu'on le pense. :)

Bonne journée

David
 
Dernière édition:

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Salut Staple,

J'a bien vu et c'est d'ailleurs pour cette raison que j'ai ouvert la PJ. :)
Merci pour ta recommandation.

Cela peut paraitre insignifiant mais le fait de donner un salaire pour un poste donné et une société, est une information "très" confidentielle. Même si il y n'y a pas le nom d'un salarié... :)

Bonnes fêtes de fin d'année à toi aussi (et à tous :)).

David
 

le yonnais

XLDnaute Junior
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

bonjour david XLD , je ne vois où est le problême , concernant les indications que l'on peut trouver en dessous du planning , puisque ces informations sont consultables par tout le monde sur internet ; je ne vois pourquoi mon employeur serait suceptible de demander la suppression de la piéce jointe ; quant aux infos sur le planning lui même , elles sont totalement anodines .
- mais comme je l'ai signalé au post#34 :
- a ok , pour les adresses de la société , SIRET , les données sont consultables sur internet , le matricule ; si tu n'as pas le nom qui y correspond , ça ne sert a rien . Mais tu as raison , il faut respecter la charte du Forum , j'y penserais la prochaine fois que je laisserais un post avec une piéce jointe ;
 

David Aubert

XLDnaute Barbatruc
Administrateur
Modérateur
Re : macro pour protéger par mot de passe toutes les feuilles d'un classeur

Hello,

Si j'étais ton employeur, cela me gênerait de trouver sur le net une fiche de paye type concernant ma société.
Le fait d'avoir un salaire brut avec un type de poste me poserait problème.
Cela pourrait permettre à la concurrence de savoir combien je paye un technicien.

Ce n'est que mon avis et je pars du principe qu'il vaut mieux prévenir que guérir. :)

A+

David
 

Discussions similaires

Réponses
2
Affichages
214
Réponses
5
Affichages
458
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 558
Messages
2 089 596
Membres
104 220
dernier inscrit
Fredericchau