Forum Discussion
Verrouiller un classeur sauf une page
Bonjour !
est-ce possible de verrouiller tout un classeur Excel sauf une page? Ma première feuille est une page de données qui alimente toutes les autres. Du coup plusieurs intervenants la remplissent, mais je voudrais ne pas avoir à entrer un code à chaque page à chaque fois que je dois faire une modification dans mes autres fiches. Donc comment barrer le classeurs avec toutes les pages en entrant juste une fois le code, mais laisser la première page de saisi disponible? Merci de votre aide!
4 Replies
- NikolinoDEPlatinum Contributor
Désolé pour la réponse tardive, mais les responsabilités personnelles sont prioritaires.
Avec ce code VBA, le classeur entier est verrouillé à l'exception de la feuille de calcul souhaitée.Sub Protection() Dim i As Integer For i = 1 To ActiveWorkbook.Worksheets.Count ActiveWorkbook.Worksheets(i).Activate ActiveSheet.Protect Password:="1234" ‘changez le mot de passe si nécessaire. Next i Sheet("XY").Unprotect Password:="1234" ‘XY est le nom de la feuille de calcul qui ne doit pas être verrouillée. ‘toutes les autres sont verrouillées. End SubNon testé, mais devrait fonctionner sans problème.
Je serais heureux de savoir si je pouvais aider.
Nikolino
Je sais que je ne sais rien (Socrate)
* Veuillez marquer et voter pour cette réponse si cela vous aide, car elle sera bénéfique pour plus de membres de la communauté qui liront ici.
* tout a été traduit en français avec des traducteurs vocaux automatiques. - NikolinoDEPlatinum Contributor
Cela dépend de la manière et de ce que vous souhaitez bloquer exactement. Voici quelques moyens d’aider.
Protéger une feuille de calcul
Protéger un fichier Excel
Je serais heureux de savoir si je pouvais aider.
Nikolino
Je sais que je ne sais rien (Socrate)
* Veuillez marquer et voter pour cette réponse si cela vous aide, car cela sera bénéfique pour plus de communauté
membres lisant ici.- Mlanie_AngersCopper Contributor
Merci pour votre réponse, mais de ce que je vois je ne peux pas verrouiller le classeur en entier sauf une feuille...
Je devrai me résigner à entrer un mot passe à chaque feuille.
Bonne journée
- BennadeauIron Contributor
Bonjour Mlanie_Angers,
Le code VBA suivant devrait pouvoir vous aider.
Par contre, au contraire d'une saisi de mot de passe régulière les caractères que vous entrerez ne seront pas masqué par un astérix.
Ce code va tout verouiller sauf la feuille nommé "DataInput" que vous pouvez modifier directement dans le code (6 lignes avant la fin)
Private Sub ProtectAll() Dim ws As Worksheet Dim userpassword1 As String Dim userpassword2 As String userpassword1 = "" userpassword2 = "" PasswordInput: userpassword1 = InputBox("Type in the lock password here", "Type in the lock password here") userpassword2 = InputBox("Confirm the lock password here", "Confirm the lock password here") If Not userpassword1 = userpassword2 Then MsgBox "Your password doesn't match. Please try again" GoTo PasswordInput End If For Each ws In ActiveWorkbook.Worksheets 'Change the sheet name below to match the one you don't want to lock If Not ws.Name = "DataInput" Then ws.Protect Password:=UserPassword, DrawingObjects:=True, Contents:=True, Scenarios:=False End If Next ws ActiveWorkbook.Protect Password:=UserPassword, Structure:=True, Windows:=False End Sub