VBA -WorkBook_Open - saisi d'un mot de passe incontournable

Hub

XLDnaute Occasionnel
Bonjour à tous,

Je pensai réaliser un contrôle d'accès grâce à un mot de passe qui apparaitrait à l'ouverture du fichier via WorkBook_Open. Pour cela j'utilisai un UserForm.

Mais cette solution ne sert à rien car il est toujours possible de s'en échapper grâce au bouton en Haut à droite de la fenêtre de l' UserForm

En considérant que je suis débutant en VBA, exist il une solution simple et efficace qui oblige l'utilisateur de saisir le mot de passe à l'ouverture du fichier et cela de manière INCONTOURNABLE ?

Merci d'avance pour vos réponses,

@+
 

Chris24

XLDnaute Impliqué
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

Bonjour

essaye ceci

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = CloseMode = 0
End Sub


Edit: Toutefois un utilisateur un peu plus averti pourra toujours empêcher l'exécution des macros à l'ouverture du fichier
Bonne journée
 
Dernière modification par un modérateur:

Hub

XLDnaute Occasionnel
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

Ok, ca fonctionne pour un UserForm.

J’ai essayé de reconduire la même procédure pour un InputBox

Private Sub InputBox_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = CloseMode = 0
End Sub

Ca ne fonctionne pas, dommage !

Et…. Un utilisateur averti, comment s’y prend t il pour empêcher l'exécution des macros à l'ouverture du fichier ?

Encore merci
 

Chris24

XLDnaute Impliqué
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

re

1 - Pas possible pour l'InputBox, la touche F1 est ton amie

2 - Il est possible d’interdire l'exécution des macros en appuyant sur la touche MAJ à l'ouverture du fichier
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

Info sup :
Au bureau j'ai une appli vba que j'ai mis sur serveur (Oracle) dans un Rep. partagé et là pas d'affichage de demande d'activation
pour celui qui ouvre ; dans l'icone sur le bureau (raccourci) de mon appli , j'ai bien le symbole Excel mais en + j'ai un triangle jaune avec un ! dedans
Sinon je confirme le 1- de Chris24
 

herve62

XLDnaute Barbatruc
Supporter XLD
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

C'est simple
Tu recopies le code dans ton fichier puis > save et quitte
Quand tu ouvres si tu fais pas "Options" > activer ; ton Pg sera inutile pour l'utilisateur (ou presque)
car pour aider un membre d'ici qui avait tout verrouillé idem + MDP à 3 essais + changer tous les xxxx jours
j'ai pu tout Viré facile pour travailler dessus tranquille avant de lui renvoyer
Hyper simple : developpeur > VBA tu modifies ou supprime certains modules > save et FINI
 

Hub

XLDnaute Occasionnel
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

Chris,

Avec la ligne de code ActiveWindow.SelectedSheets.Delete, on peut supprimer une feuille. De même, au moment de la suppression un message de demande de confirmation apparait.

Est il possible d'inhiber ce message et de valider cet ordre de destruction automatiquement ?

@+
 

Chris24

XLDnaute Impliqué
Re : VBA -WorkBook_Open - saisi d'un mot de passe incontournable

Bonjour Hub

sans plus de précisions

QUITTER SANS ENREGISTRER
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Saved = True
Application.Quit
End Sub


ENREGISTRER ET QUITTER
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
Application.Quit
End Sub
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
2
Affichages
156
Réponses
4
Affichages
619
Réponses
4
Affichages
781

Statistiques des forums

Discussions
312 184
Messages
2 086 008
Membres
103 089
dernier inscrit
johnjohn1969