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

Interruption de macro pour contourner mot de passe...

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 !

djodjodjo

XLDnaute Occasionnel
Bonjour le forum 🙂

J'ai une petite question pour vous : j'ai créé un classeur Excel entièrement vérouillé et protégé par mot de passe (et j'ai aussi protégé mes macros par mot de passe) et effectivement on ne peut rien modifier manuellement.

Par contre j'ai créé des macros qui ont besoin d'enlever cette protection pour modifier la feuille donc j'ai mis ceci en début de chaque macro :
Code:
'On enlève la protection de la feuille
If Sheets("Projets").ProtectContents Then
Sheets("Projets").Unprotect Password:="xxxx"
End If

et ceci en fin de chaque macro :
Code:
Workbooks(Classeur).Sheets("Projets").Protect Password:="xxxx"

Ca marche bien.. sauf que si jamais je clique sur un bouton associé à une des macros, et que je fais volontairement "Ctrl+Pause" ça interrompt l'exécution de la macro en cours de route (après la déprotection et avant la reprotection) et du coup la feuille n'est plus protégée.

Comment éviter ça ?

Merci d'avance !
 
Re : Interruption de macro pour contourner mot de passe...

Peut-être en faisant ça

Code:
On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler
MsgBox "This may take a long time: press ESC to cancel"
For x = 1 To 1000000    ' Do something 1,000,000 times (long!)
    ' do something here
Next x

handleCancel:
If Err = 18 Then
Workbooks(Classeur).Sheets("Projets").Protect Password:="xxxx"
    MsgBox "You cancelled"
End If

Je vais tester et je vous redis
 
Re : Interruption de macro pour contourner mot de passe...

Bonjour.

Voir l'aide VBA sur protect, et en particulier userinterfaceonly, qui évite de déprotéger pour exécuter les macros.

Edit : Bonjour, DranreB.
 
Dernière édition:
Re : Interruption de macro pour contourner mot de passe...

Boujour.
Laisser la protection, la remettre même impérativement par une Workbook_Open dans ThisWorkbook, mais avec le paramètre UserInterfaceOnly:=True
Cordialement.

Edit: Bonjour Victor21, je pensais bien que je serais doublé !
 
Re : Interruption de macro pour contourner mot de passe...

Ha ouais excellent! En plus je peux virer toutes mes protections/déprotections à l'intérieur de mes macros maintenant, du moment que je protège dans le workbook_open ?

Sinon ma solution fonctionnait aussi mais bon c'est + laborieux !

Merci 🙂
 
- 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
17
Affichages
545
  • Question Question
XL 2013 vba
Réponses
2
Affichages
246
Réponses
2
Affichages
549
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…