XL 2010 Expiration classeur mot de passe saisie 1 seule fois (Clé d'activation)

djam28

XLDnaute Occasionnel
Bonjour à tous,
J'aurais besoin de votre aide pour résoudre ce problème de VBA et vous en remercie par avance.
J'ai un code d'expiration pour mon classeur (insérer dans workbook avec date d'expiration) associé à un formulaire pour la saisie du mot de passe et je voudrais qu'à la première saisie du mot de passe, annuler la condition d'expiration CTD si j'ouvre une 2 ème fois mon classeur, il n'y aura plus de demande de mot de pass
Dans le workbook:
'Déclaration d'une constante
Const DateExpiration As Date="28/09/2019"
Private Sub Workbook_Open ()
'On teste si la date du jour est supérieur à la date d’expiration
If Date > DateExpiration Then 'Alors on affiche un formulaire demande de mot de passe
frmexpiration.Show
End If
End Sub
Code de mon formulaire:
Private Sub Userform_Initialisze ()
Me.lblMessage="Votre accès à cette application a expiré." & vbNewLine & "Vous devez saisir le mot de pass vous autorisant à poursuirve son utilisation ou contacter l'admnistrateur."
End Sub
Private Sub btnValider_Click ()
'Déclaration des variables
Const Motdepasse=aze2233WL
On Error GoTo 1
‘Si mot de passe OK, on accède au classeur
If Me.txtCode.Value= Motdepasse
Me.lblConfirmation=”Mot de passe accepté. L’accès à l’application est autorisé "
Me.btnQuitter.Visible=True
Else
‘Sinon on ferme le formulaire et on
Me.txtCode.Value= ""
Unload Me ‘On ferme le formulaire
‘ On affiche un message informant que le fichier va se fermer.
MsgBox "Votre mot de passe est erroné "&vbNewLine & "Veuillez contacter le developpeur" & vbNewLine & " L’application va se fermer", vbOKOnly + vbInformation, " ERREUR MOT DE PASSE"
End If
‘On ferme définitivement le classeur
Thisworkbook.Close SaveChanges :=False
1
End Sub

Merci beaucoup pour votre aide

DE
 
C

Compte Supprimé 979

Guest
Bonjour djam28,

Tu as inscrit ta date d'expiration en dure (dans le code)
Si tu veux pouvoir la changer, il ne faut pas pratiquer de la sorte

Tu peux soit l'inscrire dans une feuille masquée pour l'utilisateur (XlSheetVeryHidden)
soit, inscrire la valeur dans la base de registre Windows
 

djam28

XLDnaute Occasionnel
Bonjour Bruno,
Merci pour ta suggestion et d’avoir pris le temps de me lire. Ca peut être une solution. J’ai trouvé une solution qui permet de contourner le problème que je partage.
Je résume :
J’ai créé un timer sur une cellule de la feuille principale et ..dans la cellule à côté , la clé d’activation ( mot de passe). Ds mon workbook et worksheet,j’ai défini la durée d’utilisation en fonction du Timer et la clé qui fait appel au formulaire
Sur le formulaire, condition clé + interval de date pour qu’il n’en soit pas réutilisé dans le temps
Une sorte d’abonnemnent .. il ne reste plus qu’a générer plusieurs clés et les introduire dans le programme
Bonne journée
 

Discussions similaires

Réponses
5
Affichages
397
Compte Supprimé 979
C
Réponses
5
Affichages
1 K

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16