Bouton lance macro avec mot de passe

  • Initiateur de la discussion Initiateur de la discussion FanExcel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

FanExcel

XLDnaute Occasionnel
Bonjour,

Je travaille sur un nouveau fichier dans lequel des cellules sont protégées et des feuilles cachées, ce fichier étant destiné à des utilisateurs devant y effectuer de la saisie.

Au retour de ce fichier, je voudrais pouvoir lancer une macro qui déprotège les feuilles et une macro qui rende toutes les feuilles visibles.
A l'inverse, avant de renvoyer le fichier aux utilisateurs je souhaite re-proteger et masquer certaines feuilles;

Les macros sont écrites et associées à des boutons.
Le problème est que tout le monde peut les lancer à partir des boutons alors que je voudrais que seuls mes collaborateurs puissent lancer ces macros et que lorsqu'on clique sur le bouton il y ait un mot de passe qui permette de lancer la macro.

J'espère être assez claire car je ne peux pas envoyer de fichier c'est bcp trop gros

D'avance merci🙂
H.
 
Re : Bouton lance macro avec mot de passe

Bonjour Fan Excel,

regarde ci-joint un petit fichier avec mot de passe , je précise que je n'ai aucun mérite c'est stapple1600 qui a créer le code, et dont je me sert pour mes appli.

Comme je ne retrouve pas l'original je t'ai bricolé un bout de code.

Mot de passe: "toto"

A toi de mettre ce que tu veux dans le private sub okgo.
dans l'exemple je t'ai mis unautre usf.

A+
 

Pièces jointes

Dernière édition:
Re : Bouton lance macro avec mot de passe

Oui cela marche bien puisque le mot de passe est demandé lorsqu'on clique sur Outil\Protection.
Suis pas douée en VBA
C'est TotoTiti qui m'a aidé sur le code
sais tu comment je pourrais utiliser ce code dans mon fichier
Je joins le fichier

Merci
A+

Le MP de mon fichier est "yes" visible dans le code
 

Pièces jointes

Re : Bouton lance macro avec mot de passe

Re,
j'ai fait ce que j'ai pu avec ce que j'ai compris, car il y a un bug dans ton code, avec sheets("KMS")

Sur ta feuille menu, tu as deux boutons:
1 qui affiche et dévérouille, l'autre qui masque et vérouille (il est masqué à l'ouverture).

Mot de passe: "toto"

A te lire.
 

Pièces jointes

Dernière édition:
Re : Bouton lance macro avec mot de passe

Bonjour,

Je n'ai pas pu revenir sur ce sujet car j'étais en déplacement.
Mon souci est que je ne voudrais pas tout refaire dans les classeurs qui ont été diffusés ( à 80 personnes....)
Aussi, j'ai complété mon fichier avec les feuilles manquantes même si elles sont vides.

Autre particularité: les protections s'activent automatiquement à la fermeture du fichier ce qui évite un oubli.

Je retiens l'idée du Userform pour un prochain travail mais aimerais une solution, si elle existe, qui permettrait de ne pas pouvoir déprotéger par le menu Outils mais en conservant les boutons et macros existants dans mon fichier.😱

J'espère vraiment que c'est possible et d'avance merci beaucoup 😉🙂
 

Pièces jointes

Re : Bouton lance macro avec mot de passe

Bonsoir Fanexcel,

Désactiver le menu outils est délicat, par contre empêcher la déprotection sans mot de passe est facile, remplace ton code par celui-ci:
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
For Each f In Worksheets
f.Protect [COLOR="red"]Password:="yes"[/COLOR]
Next
ActiveWorkbook.Protect Structure:=True, Windows:=False
End Sub

L'avantage de l'userform que je te proposais était de pouvoir remplacer les caractères de saisie du mot de passe par *****, alors que si tu regardes bien tes inputbox, le code s'affiche en toutes lettres.😉


A te lire.
 
Dernière édition:
Re : Bouton lance macro avec mot de passe

Re,
Je t'ai trouvé un autre sur le net assez bien fait il faut dire qui pourrait te convenir.
Seul la partie workbook_beforclose est à garder ci-dessus car tu ni inclus aucun mdp, d'ou ton problème.
Code:
Sub ProtectionFeuille()
'
' ProtectionFeuille Macro
' Macro créee le 15/06/2004 par El-Matador
'

'
Cells.Select
If Feuil1.ProtectContents = True Then
MsgBox "La Feuille est déjà protégé par un mot de passe. Il n'est pas possible de le changer sans d'abord déprotéger la feuille avec le mot de passe original", vbOKOnly, "Feuille déjà protégée"
Exit Sub
End If
Selection.Locked = True
Selection.FormulaHidden = True
'MDP = "yes" ' Utiliser cette ligne pour utiliser un mot de passe déjà défini
MDP = InputBox("Entrez le mot de passe", "Entrez le mot de passe") 'Utiliser cette ligne pour demander un mot de passe
Feuil1.Protect MDP, DrawingObjects:=True, Contents:=True, Scenarios:=True
Feuil1.Visible = xlSheetVeryHidden
End Sub
Sub OterProtection()
'
' Macro créee le 15/06/2004 par El-Matador
'
CompteurErreur = 0
Cells.Select
TestMDP:
MDP = InputBox("Entrez le mot de passe", "Entrez le mot de passe")
On Error GoTo ErrorHandler
Feuil1.Unprotect MDP
Feuil1.Visible = xlSheetVisible
Feuil1.Activate
Feuil1.Select
Selection.Locked = True
Selection.FormulaHidden = False
Exit Sub
ErrorHandler:
MsgBox Err.Description
Select Case Err.Number
Case 1004
Err.Clear
CompteurErreur = CompteurErreur + 1
If CompteurErreur = 3 Then 'Entrez ici le nombre d'essai avant l'arrêt
MsgBox "Vous avez essayez 3 mots de passe sans succès, veuillez contactez le créateur du classeur", vbOKOnly, "Nombre d'essais dépassé"
Exit Sub
End If
End Select
Resume TestMDP ' Reprend l'exécution au niveau de la
' ligne à l'origine de l'erreur

End Sub

En espérent avoir pu t'être utile!😱
 
Re : Bouton lance macro avec mot de passe

Bonjour à tout le monde !🙂

Je reviens sur ce post car un de mes collègues, utilisateur d'un classeur, me fait remarquer que s'il fait Format\feuille\ Afficher, il peut afficher les feuilles que la macro a masqué. 😱😱

Depuis ce post, j'ai modifié mes outils et utilise un userform (grace aux posts de Stample 1600 que je remercie encore)🙂

Voici un petit bout de fichier allégé qui illustre mon souci.
Le mot de passe est "toto"

Je pense qu'il manque quelque chose dans la macro😕😕. Tout le reste fonctionne très bien grace à la contribution du forum.🙂

Merci et bonne journée à tous(tes)🙂
 

Pièces jointes

Re : Bouton lance macro avec mot de passe

Bonjour Grodep,🙂

Merci pour ta réponse mais la propriété VeryHidden résoud le problème et ce classeur est désormais au point.🙂
Encore merci le forum ! Pascal, Tototiti, Alex etc. sans oublier Sample1600 pour les userforms.🙂🙂

Sans le forum je ne m'en serais pas sortie. Je débute en VBA et l'apprentissage est difficile.😀

Bon WE !!
 
Re : Bouton lance macro avec mot de passe

Et me revoila sur ce post (lol)

La maquette est opérationnelle sauf que lorsqu'elle revient de mes "clients", j'ai parfois un souci lorsque j'active le bouton administrateur et le mot de passe "toto". J'ai le message "Impossible de définir la proropriété Visible de la classe Worksheet". 😕🙁😕
ce n'est pas systématique mais arrive et là, je suis planté sur la macro Afficher feuille ci dessous

'Afficherfeuilles
Sub AfficherFeuilles()
Application.ScreenUpdating = False
Dim n As Integer
For n = 1 To Sheets.Count
Sheets(n).Visible = True
Next n
End Sub

Je joins à nouveau le fichier test en éspérant que l'un des contributeurs à cet outil soit sur le forum. Suis en déplacement loin de mon bureau et ai un accès restreint au net.😀😀

A bientôt de vous lire
D'avance (et encore) Merci !! 🙂 🙂
 

Pièces jointes

Re : Bouton lance macro avec mot de passe

Une précision qui peut être utile?

Sur un classeur qui "boge"
Lorsque j'ouvre VBA, module2 et que j'exécute la macro 'Déprotéger puis la macro 'Afficher feuilles, et dans cet ordre, cela fonctionne.
Le classeur se déprotège, les feuilles masquées s'affichent.

J'enregistre alors le classeur.
A partir de là, le bouton administrateur fonctionne à nouveau sans problème.

Je ne comprends plus rien....😱😱😱
J'ai donc une solution mais que puis je faire pour éviter ces étapes?

souhaitant que cette précision apporte un éclairage sur la problématique
Bien à vous🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
609
Réponses
2
Affichages
530
Réponses
5
Affichages
808
Compte Supprimé 979
C
Réponses
4
Affichages
871
Réponses
6
Affichages
687
Réponses
2
Affichages
554
Retour