Re : Protection déprotection feuille sans fenetre demandant le code
Re, merci Victor, ma question, peu etre pas claire, certes, je veux juste savoir si comme tu me la proposé, le même code peu etre compilé afin de protéger un nombre plus important de feuilles, ce que m'a proposé Pierrot93 me convient absolument, et je l'en remercie tout comme
Option UserInterfaceOnly
Lorsque vous verrouillez les cellules d'une feuille de calcul , que la protection s'applique aux opérations VBA ainsi que les actions de l'utilisateur . Si votre code VBA tente de modifier une cellule verrouillée , vous obtiendrez une erreur d'exécution 1004 . Une façon de contourner cela est de déprotéger la feuille avant les courses VBA pertinentes et reprotect après la VBA est terminée . C'est en quelque sorte une solution malpropre . Le meilleur moyen est d'utiliser le drapeau UserInterfaceOnly lorsque vous protégez la feuille via VBA . Vous pouvez spécifier UserInterfaceOnly uniquement dans le code VBA . Il n'y a aucun élément de l'interface utilisateur ( barre de commande , menu, etc ) pour cette option , vous devez utiliser VBA . Lorsque vous protégez une feuille avec UserInterfaceOnly , la protection est appliquée aux actions des utilisateurs ( essentiellement , clavier et opérations de souris ) , mais VBA est libre de modifier la feuille de calcul comme s'il n'y avait pas de protection . Le réglage UserInterfaceOnly n'est pas enregistrée lorsque vous fermez le classeur , vous devez définir lorsque le classeur est ouvert . Le meilleur endroit pour le faire est dans la procédure d'événement Workbook_Open . Par exemple,
Private Sub Workbook_Open ( )
. Me.Worksheets ( " Sheet1" ) Protect UserInterfaceOnly : = True
. Me.Worksheets ( " Sheet2 " ) Protect UserInterfaceOnly : = True
. Me.Worksheets ( " Sheet3 " ) Protect UserInterfaceOnly : = True
End Sub
Ce code doit être placé dans le module de code ThisWorkbook de projet VBA du classeur
jusque là j'avais compris, l'idée était de en pas reproduire des lignes de code par exemple s'il y a 50 feuilles.
Merci encore