Gestion d'erreur est-elle répétitive?

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

M

mispouk

Guest
Bonjour le forum,

Je n'ai pas trouvé de réponse dans des discussions précédentes.

Enoncé: je fais une gestion d'erreur sur la saisie d'un mot de passe.

Ex:
'********** Déclaration des variables
Dim PassWord As String
Dim Center As String
'********** Saisie mot de passe et ouverture des onglets correspondants
debut:
On Error GoTo erreur 'traitement d'erreur
PassWord = InputBox("Veuillez entrer votre mot de passe :") 'saisie mot de passe
If PassWord = "MDP" Then Center = "Marseille" 'transformation du MDP en ville
'affichage des onglets du centre
Sheets("ModeOp_" & Center).Visible = True
Sheets("ModeOp").Visible = False

'************************ RAZ pour fermeture de fichier
Sheets("ModeOp").Visible = True
Sheets("ModeOp_" & Center).Visible = False
GoTo fin 'permet de sauter la gestion d'erreur si tout va bien

erreur:
MsgBox ("vous n'avez pas saisi le bon mot de passe, veuillez recommencer.")
GoTo debut
fin:
End Sub

quand je me trompe une première fois à la saisie, la ligne "Sheets("ModeOp_" & Center).Visible = True" me renvoit une erreur. Là, tout va bien.
Quand je me trompe une deuxième fois, là, VBA ne me propose que le debugage et donc c'est le caca. J'ai essayé de déplacer la ligne "On error goto..." mais rien n'y change.

Vous pouvez tester le code en créant un fichier avec une feuille nommée "ModeOp" et un autre "ModeOp_Marseille", masquée au départ.

D'avance merci.
Jérémy
 
Re : Gestion d'erreur est-elle répétitive?

Bonjour Pascal,

le résultat n'est pas meilleur.

Qu'est censé faire ton code? quelle est la différence avec l'instruction "Err.clear"? code que j'ai testé mais qui ne marche pas non plus.

En fait, c'est comme si on ne pouvait tester une erreur qu'une seule fois... c'est ça que je trouve bizarre...

Jérémy
 
Re : Gestion d'erreur est-elle répétitive?

bonjour le forum

et si tu evitais l'utilisation des gestionnaires d'erreurs souvent problèmatique :

Exemple de code qui se lance tant que le bon MDP n'est pas saisie :

Code:
Do Until InputBox("Veuillez entrer votre mot de passe :") = "MDP"
MsgBox ("vous n'avez pas saisi le bon mot de passe, veuillez recommencer.")
Loop

attention, tu ne geres pas l'annuler du inputbox dans ton code

salut
 
Re : Gestion d'erreur est-elle répétitive?

Bonjour Hervé,

je ne peux utiliser ton astuce car je gère en fait plus qu'un mot de passe, je ne peux forcer l'utilisateur. Et avec la gestion d'erreur que je propose, si l'utilisateur clique sur annuler, c'est comme s'il avait tapé un mauvais mot de passe.

Je vais continuer de chercher. Je reviens vers vous en cas de besoin.

Merci pour votre soutien.

Jérémy
 
Re : Gestion d'erreur est-elle répétitive?

re

🙂🙂

je me doutais bien que tu avais plusieur mdp à gérer, c'etait juste un exemple de boucle.

je persiste en pensant que l'utilisation de gestionnaire d'erreur pour simplement la gestion de MDP me parait dangereuse.

un exemple de boucle pour une gestion de multi mdp :

Code:
Dim MDPautorise
Dim mdp As String
Dim i As Integer

MDPautorise = Array("toto", "titi", "tutu")

Do
mdp = InputBox("Veuillez entrer votre mot de passe :")
For i = 0 To UBound(MDPautorise)
    If mdp = MDPautorise(i) Then Exit Do
Next i
MsgBox ("vous n'avez pas saisi le bon mot de passe, veuillez recommencer.")
Loop

MsgBox "Suite du traitement"
salut
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
913
Compte Supprimé 979
C
  • Question Question
Réponses
10
Affichages
1 K
Réponses
3
Affichages
762
J
  • Question Question
Réponses
5
Affichages
924
Z
  • Résolu(e)
XL 2016 Macro
Réponses
5
Affichages
1 K
P
  • Question Question
Réponses
3
Affichages
1 K
R
Réponses
0
Affichages
3 K
R
Retour