USF ne se ferme pas !

claudio54

XLDnaute Junior
Bonjour à tous
Je souhaite afficher un message par appui sur un bouton qui ouvre un usf et qui s'efface au bout de 2 secondes.
Le code vba du classeur est protégé par mot de passe ce qui fait qu'à la fermeture du classeur, excel me demande le mot de passe. Pour contourner ce problème j'ai trouvé un code pour déprotéger le vbaproject.
Et tout fonctionne à merveille, sauf la première fois que j'appuie sur le bouton : l'usf s'ouvre mais ne se ferme pas. Cela est certainement dû à la procédure de déverrouillage du vbaproject, mais je ne sais pas quoi du fait que je ne suis pas l'auteur du petit bout de code que j'ai trouvé sur le net.
Ci joint un tout petit fichier illustrant le problème.
Je remercie tous ceux qui se pencheront sur ce problème.
ps : j'utilise excel 2016
 

Pièces jointes

  • Classeur1.xlsm
    23.7 KB · Affichages: 19

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum

@claudio54
Test OK chez moi (mais sur mon classeur de test - évidemment sans mot de passe*)
A mettre dans un module standard
On affiche l'userform en lançant la macro : USF_Show
VB:
Sub USF_Show()
UserForm1.Show 0
Application.OnTime Now + TimeValue("00:00:02"), "Fermer_USF"
End Sub
Public Sub Fermer_USF()
Unload UserForm1
End Sub

NB: *parce que il existe moult moyens de le supprimer (sans même devoir connaitre le mot de passe du projet VBA)
 

claudio54

XLDnaute Junior
Bonjour Staple, le forum
Merci pour ta réponse, mais si tu protèges ton code, quand tu fermeras excel, il te demanderas le mot de passe
Donc si je veux que mon code soit protégé et éviter d'avoir cet inconvénient, je suis obligé de déprotéger avant de lancer le Usf et c'est la que l'usf ne se ferme pas.
 

Staple1600

XLDnaute Barbatruc
Re

Comme je le dis dans le NB de mon précédent message, le mot de passe est inutile!
(Les façons de le supprimer pullulent sur le net depuis au moins le 13 mai 2001 vers 17h27)

Testes mon code sur un classeur vierge avec un userform, tu verras que mon code fonctionne!
 

claudio54

XLDnaute Junior
Oui, y a pas de soucis, cela fonctionne super bien mais ce fonctionnement je l'avais déjà mais avec un code non protégé.
Je suis conscient que les mots de passe puissent se détourner de mille façons, mais c'est quand même réservé à un public spécialisé.
Mon fichier ne s'adressera qu'à une quinzaine d'utilisateurs pas très spécialistes d'Excel, mais dans le lot il y a toujours des curieux qui peuvent détériorer le code et détruire tout le travail de l'équipe. C'est pourquoi je veux protéger le code en sachant qu'ils seront incapables de le contourner.
Seul 2 utilisateurs (de confiance) et moi même auront accès à ce bouton.
De plus, j'aimerai bien connaître la raison du non fonctionnement en cas de déprotection du code par macro.
merci
 

Staple1600

XLDnaute Barbatruc
Re

C'est pourquoi je veux protéger le code en sachant qu'ils seront incapables de le contourner.
La nature humaine étant ce qu'elle est, si le contournement est possible alors contournement il y aura
(Et G..gle amènera à cela en moins de 20 secondes)

Si ton fichier doit être utilisé par des utilisateurs non spécialistes pourquoi iraient-ils mettre le nez dans VBE ?
Et si ils doivent travailler avec pourquoi donc bousilleraient-ils le dit fichier?

Maintenant à quoi donc peut servir d'afficher un userform pendant 2 secondes ??

NB:
mais ce fonctionnement je l'avais déjà
Tu es sur?
Parce que j'ai testé ton code sur un classeur non protégé, et il plantait

Alors que le mien ne plante pas, c'est d'ailleurs pour cela que je l'ai posté. ;)
 

claudio54

XLDnaute Junior
Merci pour ta réponse.
Sur mon pc ton code et le mien fonctionnent pareil. Sur classeur non protégé pas de problème.
Sur classeur protégé même problème sur les 2 --> quand on quitte excel demande le mot de passe.
L'affichage de l'usf sert juste de rappel à mes 2 collaborateurs pour leur rappeler que le fichier est déprotégé tant qu'ils ne ferment pas le classeur.
Le classeur contient des données dites sensibles et ne sont accessibles qu'a mes 2 collaborateurs et moi-même, d'où la protection pour éviter d'aller fouiller un peu partout.
Après tout, c'est vrai que je pousse peut-être le bouchon un peu trop loin.
Malgré tout j'aurais quand même bien voulu connaître comment résoudre ce problème.
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 989
Membres
101 856
dernier inscrit
Marina40