XL 2019 Tentative mot de passe 2 fois

  • Initiateur de la discussion Initiateur de la discussion Bakhti
  • 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 !

Bakhti

XLDnaute Nouveau
salut
prière de me donner le code vba pour une tentative de mot de passe a 2 fois . pour la 3 -ème tentative le fichier se ferme automatiquement
merci a vous
 
Bonjour à tous,
Peut-être comme ceci ( enregistrer le fichier sur votre ordi )
VB:
Sub Ouvrir_feuille_1()
Dim MDP, i As Long, A As Long
A = 1
For i = 1 To 4
i = A
If A <=3 Then
MDP = InputBox("Veuillez indiquer le mot de passe", "SVP")
If MDP = 1234 Then
Sheets(1).Visible = True
Sheets(1).Select
Exit Sub
Else
MsgBox " Mot de passe incorrect"
A = A + 1
End If
ElseIf A > 3 Then
MsgBox " Mot de passe incorrect ! C'est la 3éme tentative le fichier va se fermer"
Call Auto_Close
End If
Next i
End Sub

Sub Auto_Close()
Dim wb As Workbook
For Each wb In Workbooks 'boucle sur tous les classeurs ouverts
wb.Close True 'fermeture du classeur avec sauvegarde
Next
End Sub
 

Pièces jointes

Dernière édition:
Bonsoir Bakhti, JBARBE,

2 solutions, avec et sans UserForm.

Sans UserForm, le code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
Dim mdp$, x$, n As Byte
mdp = "toto" 'mot de passe à adapter
Do
    x = Application.InputBox(IIf(n, "Il vous reste 1 essai :", "Vous avez droit à 2 essais :"), "Mot de passe")
    n = n + 1
Loop While x <> mdp And n < 2
If x <> mdp Then Application.OnTime 1, Me.CodeName & ".Fermer"
End Sub

Sub Fermer()
Me.Saved = True
If Workbooks.Count = 1 Then Application.Quit Else Me.Close
End Sub
Avec UserForm, le code dans ThisWorkbook :
VB:
Private Sub Workbook_Open()
UserForm1.Show
End Sub

Sub Fermer()
Me.Saved = True
If Workbooks.Count = 1 Then Application.Quit Else Me.Close
End Sub
et dans l'UserForm :
VB:
Const mdp$ = "toto" 'mémorise la variable mdp, à adapter

Private Sub CommandButton1_Click()
Static n As Byte 'mémorise la variable
n = n + 1
If TextBox1 = mdp Or n > 1 Then Unload Me Else Label1 = "Il vous reste 1 essai :": TextBox1 = "": TextBox1.SetFocus
End Sub

Private Sub TextBox1_Change()
If TextBox1 = mdp Then Unload Me 'évite de passer par le bouton
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If TextBox1 <> mdp Then Application.OnTime 1, "ThisWorkbook.Fermer"
End Sub
A+
 

Pièces jointes

Dernière édition:
j'arrive pas a appliqué votre code ; voila mon fichier prière de me le reglé svp
nom d'utilisateur : MBWolrd
mot de passe : MB2021

je veux avoir une tentative de mot de passe a 2 fois . pour la 3 -ème tentative le fichier se ferme automatiquement . merci beaucoup
 

Pièces jointes

Bonjour à tous, job75, Bakhti
Il y a comme un défaut dans ton fichier :
J'ai pourtant bien mit :
nom d'utilisateur : MBWolrd
mot de passe : MB2021
Excel_code.jpg
 
Bonjour

Sachant que ces mots de passe sont facilement violables
Re,
En effet pour un initié un mot de passe dans le VBAProject ne servira à rien !
Mais bon, si tu connais bien ces utilisateurs de ce programme ( petites connaissances d'Excel ) tu peux essayer de mettre un mot de passe dans le VBAProject !
Hélas, il y a peut-être dans ceux-ci des cracks du Web !
En bref, tu n'as pas le choix !
Bonne journée !
 
- 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

  • Question Question
Réponses
6
Affichages
318
Réponses
19
Affichages
621
Réponses
17
Affichages
594
Réponses
30
Affichages
555
Réponses
3
Affichages
154
Réponses
11
Affichages
380
Retour