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

carlos

XLDnaute Impliqué
Bonsoir le forum

cette boucle de test sur un mot de passe ne fonctionne pas correctement ...

Sub MAJFichierDonnees()

Dim Sesame, CompteurSesame, CompteurSesameInverse
Sesame = MAJDonnees.MotdePasseMAJDonnees.Value
CompteurSesame = 0

CompteurSesameInverse = 3
If Sesame = 'TATA' Then
MAJDonnees.Hide
ChoixMAJDonnees.Show
ElseIf Sesame <> 'TATA' Then
Do
MsgBox 'Mot de Passe incorrect, recommencez, il vous reste ' & CompteurSesameInverse & ' essai(s) !'
MAJDonnees.MotdePasseMAJDonnees.Text = ''
MAJDonnees.MotdePasseMAJDonnees.SetFocus
& ' essai(s) !'
CompteurSesame = CompteurSesame + 1
CompteurSesameInverse = 3 - CompteurSesame
MAJDonnees.MotdePasseMAJDonnees.Text = ''
MAJDonnees.MotdePasseMAJDonnees.SetFocus
MsgBox 'Mot de Passe incorrect, recommencez, il vous reste ' & CompteurSesameInverse & ' essai(s) !'
Loop Until CompteurSesame = 2
MsgBox 'Mot de Passe incorrect, au revoir !'
MAJDonnees.Hide


End If

End Sub


Merci
 
Bonsoir carlos

Cette ligne ci:
& ' essai(s) !'
ne tiens pas du tout dans le contexte du code que tu présente.

Je te présente aussi une modification de la gestion de code pour la saisis du mot de passe. Dis moi si cela fait ce que tu cherchais ?



Sub MAJFichierDonnees()
Dim Sesame&nbsp; &nbsp; &nbsp; &nbsp; As String, CompteurSesame&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; As Byte
With MAJDonnees
&nbsp; &nbsp; &nbsp; &nbsp; Sesame = .MotdePasseMAJDonnees.Value
&nbsp; &nbsp; &nbsp; &nbsp; CompteurSesame = 0
&nbsp; &nbsp; &nbsp; &nbsp;
If Sesame = 'TATA' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Hide
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Show
&nbsp; &nbsp; &nbsp; &nbsp;
Else
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
With .MotdePasseMAJDonnees
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Do
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Mot de Passe incorrect, recommencez, il vous reste ' & 3 - CompteurSesame & ' essai(s) !'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Text = ''
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .SetFocus
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CompteurSesame = CompteurSesame + 1
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
Loop Until Sesame = 'TATA' Or CompteurSesame = 3
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End With
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
If Not Sesame = 'TATA' Then
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MsgBox 'Mot de Passe incorrect, au revoir !'
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .Hide
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
End If
&nbsp; &nbsp; &nbsp; &nbsp;
End If
End With
End Sub

Message édité par: Hellboy, à: 13/11/2005 03:40
 
Bonjour Hellboy , Bonjour le forum

Merci pour ta proposition qui ne resout pas completement mon probleme MAIS comme tu le dis , il vaut mieux joindre un fichier ..

Je ne comprends pas pourquoi le Setfocus ne réaffiche pas le USF MAjDonnees et ainsi ne permet pas de saisir un second puis troisieme choix.Je n'ai plus la main sur le MajDonnees.MotdePasseMAJDonnees

Merci [file name=BoucleSurMDP.zip size=14444]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/BoucleSurMDP.zip[/file]
 

Pièces jointes

Bonjour carlos, Hellboy, le Forum,

A tester, en remplacement de ta Sub MAJFichierDonnees() :
Sub MAJFichierDonnees()
Dim Sesame As String
Static
CompteurSesame As Byte
      With MAJDonnees
            Sesame = .MotdePasseMAJDonnees.Value
            If Sesame = 'TATA' Then
                  Unload MAJDonnees
                  ChoixMAJDonnees.Show
            Else
                  CompteurSesame = CompteurSesame + 1
                  If CompteurSesame < 3 Then
                        MsgBox 'Mot de Passe incorrect, recommencez, il vous reste ' & _
                                    3 - CompteurSesame & ' essai(s) !'
                        With .MotdePasseMAJDonnees
                              .Text = ''
                              .SetFocus
                        End With
                  Else
                        MsgBox 'Mot de Passe incorrect, au revoir !'
                        Unload MAJDonnees
                  End If
            End If
      End With
End Sub
Cordialement,
 
- 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
15
Affichages
776
  • Question Question
Microsoft 365 Macro vba excel
Réponses
6
Affichages
616
Réponses
4
Affichages
730
Réponses
10
Affichages
761
Retour