Actualité informatique
Test comparatif matériel informatique
Jeux vidéo
Astuces informatique
Vidéo
Télécharger
Services en ligne
Forum informatique
01Business

|-  LOGICIELS


|||-  

Macro avec mot de passe

 

1 utilisateur anonyme et 12 utilisateurs inconnus
Ajouter une réponse
 

 
Page photos
 
     
Vider la liste des messages à citer
 
 Page :
1
Auteur
 Sujet :

Macro avec mot de passe

RÉSOLU
Prévenir les modérateurs en cas d'abus 
micropat
Tu cartonnes ! (de 500 à 999 messages postés)
  1. Posté le 26/04/2017 à 17:53:44  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour à tous les lecteurs
Dans une macro pour exécuter une action j'ai un code avec une demande de mot de passe. Le problème rencontré est que même si je me trompe de mot de passe ou clic sur le bouton annuler la macro s'exécute quand même.
Avez vous une solution à mon problème?
Par avance merci.
Voici une partie de mon code.
Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. 'mot de passe demandé
  2.  
  3. Const MdP As String = "TOTO" 'tapez le mot de passe.
  4. Private Sub CommandButton1_Click()
  5.  Dim Mdp1 As Variant, x As Integer
  6.  For x = 2 To 1 Step -1
  7.    Mdp1 = Application.InputBox("Entrez le mot de passe" & Chr(10) & "il vous reste " & x & " essais")
  8.    If VarType(Mdp1) = vbBoolean Then
  9.      Exit For
  10.    If Mdp1 = MdP Then
  11.      MsgBox "Ok Mot de passe valide" 'à remplacer par ta future procédure
  12.      Exit For
  13.  
  14. 'Probleme rencontré si mot de passe invalide ou clic sur bouton annuler la procédure est quand même executée
  15.  
  16. ' !!!Ma demande si le mot de passe n'est pas valide "message mot de pase non valide procédure annulée"
  17.  
  18. 'Application.Quit
  19.    End If
  20.  Next x
  21.  
  22. 'Supprimer ligne
  23.  ActiveSheet.Unprotect "TOTO" '*****
  24.  Range("C13").Select
  25.  
  26.  Range("H9").Select
  27.  Selection.Locked = False
  28.  Selection.FormulaHidden = False
  29.  Rows("9:9").Select
  30.  Range("B9").Activate
  31.  Selection.Delete Shift:=xlUp
  32.  Range("B9").Select
  33.  ActiveSheet.Protect "TOTO"
  34.  
  35.  MsgBox "Le contenu de cette LIGNE à été effacé et remis dans son état initial !", 64, "Information"
  36. 'End If
  37.  ActiveSheet.Protect "TOTO"
  38. End Sub

Désolé je ne sait pas comment mettre les balises de code.

Edit par Tintin10 : rajout des balises de code
Message édité par Tintin10 le 26/04/2017 à 19:49:53
  1. config
tintin10
Habitué (de 5 000 à 9 999 messages postés) Développeur
  1. Posté le 26/04/2017 à 19:51:16  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour. Pour les balises de code, il suffit de rentrer le code entre (code=vb) et (/code) (où il faudra remplacer les parenthèses par des crochets).
"vb" permet de coloriser le code selon la syntaxe V.B., donc adaptée au V.B.A..


---------------
Configuration matérielle : voir ce lien
Merci de respecter les règles du forum
(Publicité)
willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 26/04/2017 à 20:04:15  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bjr,

tu dois ajouter une condition sur la variable x=1 pour sortir
if x=1 then exit sub

Code :(Double-cliquez pour supprimer les numéros de ligne)
  1. Const MdP As String = "TOTO" 'tapez le mot de passe.
  2. Sub test()
  3. Dim Mdp1 As Variant, x As Integer
  4.  
  5. For x = 3 To 1 Step -1 'pour 3 essais
  6. Mdp1 = InputBox("Entrez le mot de passe", "il vous reste " & x & IIf(x = 1, " essai", " essais"))
  7. If VarType(Mdp1) = vbBoolean Then
  8. If x = 1 Then MsgBox "3 essais terminés": Exit Sub
  9. GoTo suite
  10. End If
  11.  
  12. If Mdp1 = MdP Then
  13. MsgBox "Ok Mot de passe valide"
  14. Exit For
  15. Else
  16. If x = 1 Then MsgBox "3 essais terminés": Exit Sub
  17.  
  18. 'Application.Quit
  19. End If
  20. suite:
  21. Next x



 :hello:
Message édité par willyplaisir le 27/04/2017 à 11:21:22

---------------
[:ahlefoufou] Merci de sauver les chats abandonnés en aidant cette association : [:tazounet:5]
- Pension MillePattes
micropat
Tu cartonnes ! (de 500 à 999 messages postés)
  1. Posté le 27/04/2017 à 14:46:51  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
Bonjour à tous Merci pour votre réponse. j'ai fait le test tout est ok.
Pour info j'ai posté un autre sujet sur lequel je bloque.

willyplaisir
Expert Excel Habitué (de 5 000 à 9 999 messages postés)
  1. Posté le 27/04/2017 à 16:30:55  
  1. answer
  1. Prévenir les modérateurs en cas d'abus
 
bjr,

avec plaisir,
toujours faire un organigramme avant d'écrire les lignes de commande d'une macro pour être sûr de ne rien oublier.
 :hello:


---------------
[:ahlefoufou] Merci de sauver les chats abandonnés en aidant cette association : [:tazounet:5]
- Pension MillePattes
(Publicité)
 Page :
1

Aller à :
 

Sujets relatifs
Mot de passe windows 7 oublier macro avec inputbox et liste obligatoire
Macro tableau lent macro désactivée
Macro pour interdire l'actualisation d'une date et heure  
Plus de sujets relatifs à : Macro avec mot de passe

Les 5 sujets de discussion précédents Nombre de réponses Dernier message
word 2013 pied de page au nom du fichier 5
Création d'itinéraires 4
Problème barre des taches Outlook 2007 1
ouvrir un mail avec fichiers ooapin 1
Enlever le démarrage rapide d'OpenOffice.org 1