Verrouiller un classeur contenant des macros avec un code

namidou

XLDnaute Nouveau
Bonjour à tous, j'ai fait un petit tableur que je souhaite verrouiller avec un code. Cependant j'ai des macros dans ce classeur, si je mets un code, les macros ne fonctionnent pas. Merci pour votre aide, Natacha
 

Pierrot93

XLDnaute Barbatruc
Re : Verrouiller un classeur contenant des macros avec un code

Bonjour Natacha

pour ce faire, il faut que la feuille soit protégée par le code en utilisant l'argument "userinterfaceonly", comme dans le code ci dessous à placer dans le module "ThisWorkbook" :

Code:
Private Sub Workbook_Open()
ActiveSheet.Protect Password:="toto", userinterfaceonly:=True
End Sub

bonne journée
@+
 

namidou

XLDnaute Nouveau
Re : Verrouiller un classeur contenant des macros avec un code

Merci Pierrot mais ça ne fonctionne pas. En fait, j'ai plusieurs feuilles dans mon classeur, j'ai mis le code donnée dans "workbook", mais toujours pareil.

Si je verouille mon classeur avec le code "toto" par exemple, même si je mets ton code dans workbook, quand je lance ma macro, ça m'affiche la boite de dialogue m'indiquant d'inscrire le code.

Je suis pas trés doué en code, je me souviens que trés vaguement de visual basic. Mes macros sont toutes enregistrées manuellement, je n'ai écrit aucun code.

Ma macro de ma première page excecute un tri quand j'appuis sur un objet de ma feuille. Je dois déverouiller la page et lancer ma macro et reverrouiller ma page avant de terminer ma macro. Si je mets un code, la macro se bloque et m'affiche la boite de dialogue. Merci de m'aider
 

Pierrot93

XLDnaute Barbatruc
Re : Verrouiller un classeur contenant des macros avec un code

Re Natacha

pour protéger toutes les feuilles, recopies le code ci dessous dans le module "ThisWorkbook", enregistres et fermes le classeur, tu ré-ouvres le classeur, à ce moment la macro de protection s'exécute (macro événementielle qui se déclenche à l'ouverture du classeur) et tu dois pouvoir utiliser tes macros :

Code:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Protect Password:="toto", userinterfaceonly:=True
Next ws
End Sub

@+
 

namidou

XLDnaute Nouveau
Re : Verrouiller un classeur contenant des macros avec un code

Non, c'etait trop beau, ça marche au demarrage.Quand j'ouvre le classeur, quand je lance ma macro, ça m'affiche la boite de dialogue pour mon code mais quand j'appuie sur "X" , ma macro fonctionne et la feuille est vérrouillée. Cependant si l'opérateur appuie sur déverrouiller la feuille, aucun code n'est demandé et il a accés à mes codes.Alors que j'ai rentré le code"toto" quand j'ai verrouillé les feuilles et le classeur. A l'aide...
 

namidou

XLDnaute Nouveau
Re : Verrouiller un classeur contenant des macros avec un code

Le second code ne fonctionne pas, ça me bloque directement au demarrage, la ligne "ws.Protect Password:="toto", userinterfaceonly:=True" est surlignée en jaune; merci quand même...y a t'il une autre façon de faire??? Nat
 

namidou

XLDnaute Nouveau
Re : Verrouiller un classeur contenant des macros avec un code

[KIKI, le lien que tu m'as donné, c'est pour enlever un mot de passe, moi, je veux bloquer mes feuilles avec un mot de passe et excecuter mes macros. Puis les sites donnés par liens ne sont pas à mon niveau, trop de codes, trop compliqués!!!!merci, Nat
 

Pierrot93

XLDnaute Barbatruc
Re : Verrouiller un classeur contenant des macros avec un code

Re natacha, BONJOUR Kiki

je ne comprends pas les codes que je t'ais donné fonctionnent chez moi (Excel2003)... Essaye peut être de mettre ton classeur en pièce jointe avec les codes, sans données confidentielles.

@+
 

Discussions similaires

Réponses
2
Affichages
217
Réponses
9
Affichages
609

Statistiques des forums

Discussions
312 610
Messages
2 090 204
Membres
104 451
dernier inscrit
scp9990