Mdp avant execution macro
Bonjour, je viens vers vous car j'ai besoin d'aide (comme tout le monde me direz vous
Biensûr j'ai fait des recherches sur le net avant de demander assistance.
Je vous explique:
Je suis en train de créer un fichier excel dans lequel il y a des macros notamment pour protéger et déprotéger les modifications par de tierces personnes.
Là est mon problème, je souhaiterais qu'il y ait une fenêtre qui demande un mot de passe autorisant ou n'autorisant pas l'éxécution de la macro qui déprotège.
Je suis complètement perdu.
Merci par avance de votre aide
Bonsoir,
Pour protéger la feuille 1 : Sheets("Feuil1").Protect "TONMOTDEPASSE"
Pour déprotéger : Sheets("Feuil1").Unprotect "TONMOTDEPASSE"
Cordialement
Bonjour,
Voir un exemple dans fichier joint.
ALT F11 pour ouvrir l'éditeur VBE.
mot de passe : jeaneric
Cdlt.
Bonjour messieurs,
Merci dabord pour vos réponse et votre rapidité a la tache
Je viens d'essayer et ca ne fonctionne malheureusement pas
Je vous joint l'entièreté de mon module de protection/déprotection pour vous montrer ce que j'ai fait et donc la ou il faudrait je pense imbriquer le code de sécurité incluant la boite qui demande le mot de passe.
Sub Proteger()
' Protection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect Password:="azopqslm", DrawingObjects:=True, Contents:=True, Scenarios:=True
Next i
End Sub
Sub Deproteger()
' Déprotection automatique de toutes les feuilles d'un classeur
Dim nombre As Integer
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Unprotect Password:="azopqslm"
Next i
End Sub
Voila, j'espère avoir été suffisament précis pour vous aider a y voir plus clair sur ce qui m'embarasse.
Merci encore
Bonjour,
Ton code fonctionne ...
il protège et déprotège correctement les feuilles !
A quel moment veux tu enlever la protection ? Sur quel action ? Bouton ? Macro ? Explique nous le déroulement de ce que tu veux faire s'il te plaît (:
Cordialement
Bonjour civo,
Je t'explique, j'insère une image (un cadenas par exemple) qui va protéger les feuilles directement, et une autre image (une clé) qui doit déprotéger mais uniquement si le mot de passe rentré est correcte sinon les feuilles restent protégées et l'utilisateur doit etre averti que le mdp rentré n'est pas bon.
J'affecte bien évidement la macro adéquate a chaque image.
Donc, pour protéger, la macro est fonctionnelle et affectée a l'image du cadena, mais par contre en cliquant sur la clé, le document est déprotégé sans avoir besoins de mot de passe et c'est bien la que je me casse la tete pour y mettre cette restriction
Suis-je assez clair dans mes propos
Merci a toi et aux autres biensur de votre investissement pour résoudre mon soucis
Re,
Option Explicit
Const mdp As String = "azopqslm"
Dim nombre As Integer
Dim i As Integer
'Option Private Module
' Protection automatique de toutes les feuilles d'un classeur
Public Sub Proteger()
Application.ScreenUpdating = False
nombre = ActiveWorkbook.Sheets.Count
For i = 1 To nombre
Worksheets(i).Protect _
Password:=mdp, _
DrawingObjects:=True, _
Contents:=True, _
Scenarios:=True
Next i
End Sub
' Déprotection automatique de toutes les feuilles d'un classeur
Public Sub Deproteger()
Dim Message As String, Title As String, Default As String, Response As String
Message = "Veuillez saisir le mot de passe."
Title = "Déprotection feuilles"
Default = ""
Response = InputBox(Message, Title, Default)
If Response = vbNullString Then Exit Sub
If Response <> mdp Then
MsgBox "Le mot de de passe n'est pas valide.", 64
Exit Sub
End If
Application.ScreenUpdating = False
nombre = ActiveWorkbook.Sheets.Count
For i = 1 To nombre
Worksheets(i).Unprotect Password:=mdp
Next i
End SubMerci jean-eric,
Ca marche du feu de dieu, tu me permet d'avancer dans mon boulot!!
Je te rassure, je ne vais pas simplement copier la macro dans mon fichier, mais bien entendu je vais aussi et surtout essayer de la comprendre!
J'étais en train de
Donc un grand merci a jean-eric qui a réussi a résoudre mon soucis, et puis aussi biensûr a civo pour son aide.
Je met la balise de résolution