Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Je suis à la rechercher d'une macro qui me protége automatiquement avec mot de passe toutes les cellules d'une feuille dès lors qu'elles contiennent une formule.
La feuille 1 contient 4 formules, la feuille 2 en contient une (cellules teintées en jaune)
Un clic sur le bouton test protègera bien les feuilles 1 & 2, mais pas la 3.
Espérant avoir répondu.
Cordialement.
PS : le mot de passe est défini comme constante ("0000") dans Module1. Tu peux bien sûr modifier ce mot de passe, mais il ne faudra pas oublier de déprotéger les feuilles avant de le faire.
La feuille 1 contient 4 formules, la feuille 2 en contient une (cellules teintées en jaune)
Un clic sur le bouton test protègera bien les feuilles 1 & 2, mais pas la 3.
Espérant avoir répondu.
Cordialement.
PS : le mot de passe est défini comme constante ("0000") dans Module1. Tu peux bien sûr modifier ce mot de passe, mais il ne faudra pas oublier de déprotéger les feuilles avant de le faire.
Au départ toutes les cellules sont protégées.
Tu veux plutôt déprotéger celles qui n'ont pas de formule je pense...
Alors ça peut-être :
Code:
Sub protect()
Cells.Locked = False
Cells.SpecialCells(xlCellTypeFormulas).Locked = True
'Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True' masquer les formules
End Sub
Au départ toutes les cellules sont protégées.
Tu veux plutôt déprotéger celles qui n'ont pas de formule je pense...
Alors ça peut-être :
Code:
Sub protect()
Cells.Locked = False
Cells.SpecialCells(xlCellTypeFormulas).Locked = True
'Cells.SpecialCells(xlCellTypeFormulas).FormulaHidden = True' masquer les formules
End Sub
Je viens d'essayer cette macro ci-dessous pour déprotéger, ça fonctionne par contre comment intégrer le code 0000 dans la macro afin qu'il ne soit pas demandé.
SI, au départ toutes les cellules sont protégées quelque soit le contenu de ton post #1
Maintenant si tu parles de cellules alors que tu veux protéger la feuille...
Il ne manquait que la partie protection de la feuille, et ces 2 lignes dispensent de boucler sur les cellules.
Je viens d'essayer cette macro ci-dessous pour déprotéger, ça fonctionne par contre comment intégrer le code 0000 dans la macro afin qu'il ne soit pas demandé.
SI, au départ toutes les cellules sont protégées quelque soit le contenu de ton post #1
Maintenant si tu parles de cellules alors que tu veux protéger la feuille...
Il ne manquait que la partie protection de la feuille, et ces 2 lignes dispensent de boucler sur les cellules.
Je pense que notre ami désire mettre à jour la protection après modifications dans les feuilles. Ce qui implique forcément une boucle pour balayer chaque cellule.
Pouquoi ?
Cells.SpecialCells(xlCellTypeFormulas).Locked = True
fixe bien l'état Locked à True pour toutes les formules de la feuille.
Je me trompe ou bien des particularités peuvent faire que des formules ne soient pas sélectionnées ainsi ?
Pouquoi ?
Cells.SpecialCells(xlCellTypeFormulas).Locked = True
fixe bien l'état Locked à True pour toutes les formules de la feuille.
Je me trompe ou bien des particularités peuvent faire que des formules ne soient pas sélectionnées ainsi ?
Non, tu ne te trompes pas eric, c'est moi qui me suis égaré dans le raisonnement.
Effectivement, nul besoin de boucle. Mais où avais-je donc la tête ?
Le code peut donc se simplifier comme ceci :
Code:
Const mdp = "0000"
Sub ProtectionFeuilles()
Dim Formule As Boolean, nbForm As Long
On Error Resume Next
For Each sh In Sheets
Formule = False
With sh
.Cells.Locked = False
nbForm = 0
nbForm = .Cells.SpecialCells(xlCellTypeFormulas).Count
If nbForm > 0 Then
.Cells.SpecialCells(xlCellTypeFormulas).Locked = True
.Protect mdp
End If
End With
Next
End Sub
- 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