fermer un userform sur saisie d'un mot de passe

fermer un userform sur saisie d'un mot de passe - VB/VBA/VBS - Programmation

Marsh Posté le 04-05-2005 à 11:15:21    

Bonjour le forum,
Je souhaite interdire a l'utilisateur de mon prog VBA de fermer les userforms sur lesquels il navigue afin d'éviter qu'il n'ait acces à la base de données...Bref jusque la tout va bien. J'ai rentré les codes suivants :  
 
Public Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
MsgBox "Pour quitter le programme veuillez" & Chr(10) & Chr(10) & "cliquer sur le bouton QUITTER", vbCritical, "FERMETURE INTERDITE:RISQUE DE PERTE DES DONNEES"
Cancel = True  
End Sub
 
Le problème c'est que desormais je n'ai plus acces moi meme a la base de données. Je voudrais donc programmer un userform qui autorise la fermeture apres avoir saisi un code. Cette fois au lieu de mettre un msg box simple je mets un msgbox vbyesno.
Je veux que si l'on clique sur "non" alors un imput box se lance du type : InputBox(prompt:="Veuillez saisir le code autorisant la fermeture du userform" ) et que si le code saisi est bon, je veux pouvoir fermer le userform, sinon non.
 
J'utilise les codes suivants: (mais bon ca marche pas...)
 
Public Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Dim reponse As Integer
MsgBox "Pour quitter le programme veuillez" & Chr(10) & Chr(10) & "cliquer sur le bouton QUITTER", vbYesNo + vbCritical, "FERMETURE INTERDITE:RISQUE DE PERTE DES DONNEES"
Cancel = True  
If reponse = 7 Then
code = InputBox(prompt:="Veuillez saisir le code autorisant la fermeture du userform" )
If code = "TOTO" Then
Exit Sub
End If
End If
End Sub
 
Aurier vous une solutin a me proposer repondant a mes besoin?
merci de votre aide


---------------
Arkancylla
Reply

Marsh Posté le 04-05-2005 à 11:15:21   

Reply

Marsh Posté le 04-05-2005 à 11:23:26    

Salut,
 
à mon avis tu te compliques la vie :)
 
Tu as tout intérêt à commencer par séparer les données du programme. Ca évitera déjà que tes utilisateurs puissent voir tes tables :)
 
Ensuite, tu peux configurer le .mdb du programme pour qu'il cache "l'explorateur" d'Access, enlever les barres d'outils, ... Tu peux faire tout ça dans le menu d'Acces "Outils/Démarrage".
 
Si toi tu veux ensuite ouvrir le .mdb en mode "normal", il te suffit de l'ouvrir avec la touche MAJ enfoncée (bon à savoir).
 
Et si ces réglages là ne suffisent pas, tu peux encore gérer des sécurités avec le "module" intégré à Access. Pour ça, tu trouveras tout ce qu'il te faut dans le menu "Outils\Sécurité".
 
Voilà j'espère que cela pourra t'aider.
A+

Reply

Marsh Posté le 04-05-2005 à 16:07:34    

merci mais je travail sur VBA ;-)


---------------
Arkancylla
Reply

Marsh Posté le 04-05-2005 à 16:17:04    

On a compris que tu es en VBA...
Mais dans quelle application?
Comme tu parles de bases de données, on en déduit que tu es en Access.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 04-05-2005 à 16:26:31    

AlainTech a écrit :

On a compris que tu es en VBA...
Mais dans quelle application?
Comme tu parles de bases de données, on en déduit que tu es en Access.


A moins que sa base de donnée ne soit une feuille Excel  :pt1cable:  
 
Hum... Suis méchant moi... pas bien  :non:

Reply

Marsh Posté le 04-05-2005 à 16:37:53    

c'est ca ma base de données est sur excel mais ne vous cassez plus la tête j'ai trouvé!
merci beaucoup


---------------
Arkancylla
Reply

Marsh Posté le 04-05-2005 à 22:03:25    

Quand on a trouvé, c'est bien de dire comment.
 
Ca peut servir à d'autres...


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed