Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

demande d'un password pour sauvegarder, avec conditions

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

Poto

XLDnaute Occasionnel
Bonjour à tous,

j'utilise actuellement une petite macro pour demander un password lors de la sauvegarde d'un classeur, elle se presente ainsi :



elle fonctionne parfaitement, mais j'essaye desesperement depuis plusieurs jours à conditionner l'apparition de l'inputbox de telle maniere que si l'utilisateur à rentrer le mot de passe il y'a moins d'une minute (par exemple), la macro ne redemande pas le mot de passe.

merci d'avance à tous 😉
 
Re : demande d'un password pour sauvegarder, avec conditions

Je procderais par nommer une variable publique (première ligne d'un module, Public stopgo As String)

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Dim Mypassword As String
Mypassword = toto
if stopgo = "False" then
message = InputBox("Mot de passe :", "Entrer le mot de passe Manager pour sauvegarder", "*********")
If message <> Mypassword Then
Cancel = True
MsgBox "Mauvais mot de passe, le fichier n'a PAS ETE SAUVEGARDER", vbCritical
Else 'ce que tu veux que ça fasse si tu as déjà entrer mot de passe
End If
End if
Application.OnTime Now + TimeValue("00:1:00"), "gostop"
stopgo = "True"
End Sub

Code:
private sub gotop()
stopgo = "False"
End sub
 
Dernière édition:
Re : demande d'un password pour sauvegarder, avec conditions

Salut Kllmoon, merci beaucoup pour ton aide, mais je dois avouer que je ne comprend pas tres bien la procedure a suivre pour mettre en place ton code, pourrais tu m eclairer un peu ??

merci encore 😉


 
Re : demande d'un password pour sauvegarder, avec conditions

Pour ta macro existante, remplace la par ceci. Tu dois la mettre dans ThisWorkbook :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Mypassword As String
If stopgo = "False" Then
Mypassword = "toto"
Message = InputBox("Mot de passe :", "Entrer le mot de passe Manager pour sauvegarder", "*********")
If Message <> Mypassword Then
Cancel = True
MsgBox "Mauvais mot de passe, le fichier n'a PAS ETE SAUVEGARDER", vbCritical
End If
End If
Application.OnTime dTime, "gostop", False
Application.OnTime Now + TimeValue("00:01:00"), "gostop"
stopgo = "True"
End Sub

Ensuite dans un module copie ceci :

Code:
Public stopgo As String

Private Sub gostop()
stopgo = "False"
End Sub

Voilà, tout devrait fonctionner comme tu le souhaites.
 
Dernière édition:
Re : demande d'un password pour sauvegarder, avec conditions

Bonjour à tous

peut être une autre solution comme ceci, à adapter à ton projet :

Code:
Option Explicit
Dim x As Date
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim mdp As String
If x = "00:00:00" Or Time > x Then
x = Time + TimeValue("00:01:00")
mdp = InputBox("mot de passe ?")
'le reste de ton code
End If
'le reste de ton code, c'est selon...
End Sub

bonne fin d'après midi
@+
 
Re : demande d'un password pour sauvegarder, avec conditions

merci pierrot, je vais tester cette methode aussi

htx 😉

 
- 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
16
Affichages
2 K
Réponses
19
Affichages
2 K
F
Réponses
1
Affichages
578
C
Réponses
24
Affichages
3 K
Charles Sion
C
M
Réponses
6
Affichages
1 K
mouss5174
M
F
Réponses
0
Affichages
794
F
B
Réponses
2
Affichages
2 K
barbenault
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…