Bonjour à tous
Voilà j'avance plutôt bien sur mon projet (cool pour moi^^') mais je tourne tout de même en rond depuis des jours.. sur une volonté de déverrouiller certaines cellules sur une feuille bloquée par mot de passe. Par conséquent je souhaite que chaque username ai un accès restreint selon mes souhaits.
je pensais qu'en :
- bloquant toutes mes feuilles
- bloquant toutes les cellules
- débloquant sélectivement selon le username, certaines cellules
cela fonctionnerai mais ce n'est pas le cas :/ .. mes cellules AB8 et AL8 quand je suis manger ne se déverrouille pas. Excel me demande toujours :
Si quelqu'un sait où je plante, ce serait top d'avance merci pour ceux qui regarde mon "code" dégueux
Voici mon code "allégé" des trucs inutiles, présent sur ThisWorkbook de mon fichier en copie :
Private Sub Workbook_Open()
On Error Resume Next
Dim sh As Worksheet
Dim dLig As Long
Dim Reponse As String
'"=>Pour tout le monde
'<<<<<<<<<<<<<Protection et blocage cellules
For Each sh In ThisWorkbook.Worksheets
'Les feuilles sont protégées
sh.Protect "ndf"
'les cellules bloquées
sh.Cells.Locked = True
Next sh
'Limiter le scrollArea à chaque onglet, ainsi cela évite d'ouvrir 1048576 lignes et d'alourdir inutilement le fichier excel !!
ThisWorkbook.Sheets(1).ScrollArea = "A1:AW250"
ActiveSheet.Name = ActiveSheet.Range("I11").Value
'""En fonction de ce que renvoie le Username, pour chaque personne
Select Case Application.UserName
'"=>MANAGER CASE
Case Application.UserName 'aka Manager test en utilisant ici mon username
''<<<<<<<<<<<<<Protection et blocage cellules
Sheets(1).Unprotect "ndf"
Sheets(1).Cells.Locked = True
Sheets(1).Range("AB8").Locked = False 'je souhaite dévérouiller précisément celle-ci
Sheets(1).Range("AL8").Locked = False 'je souhaite dévérouiller précisément celle-ci aussi
MsgBox "Current user is " & Application.UserName & " and get MANAGER access"
Sheets(1).Range("W:Z").EntireColumn.Hidden = True
Sheets(1).Range("AB:AS").EntireColumn.Hidden = False
Sheets(1).Range("AB7").Select
MsgBox "Please make a short review and approve/reject fees by clicking on corresponding sending icon. Before sending, you can also attach an explanatory comment in the blue area. Thanks you."
Sheets(1).Protect "ndf"
''"=>OTHERS CASE(here EMPLOYEES)
'Case Else 'aka others
''masquage zone controller
'Sheets(1).Range("W:Z").EntireColumn.Hidden = True
''masquage zone manager
'Sheets(1).Range("AB:AS").EntireColumn.Hidden = True
End Select
End Sub
Voilà j'avance plutôt bien sur mon projet (cool pour moi^^') mais je tourne tout de même en rond depuis des jours.. sur une volonté de déverrouiller certaines cellules sur une feuille bloquée par mot de passe. Par conséquent je souhaite que chaque username ai un accès restreint selon mes souhaits.
je pensais qu'en :
- bloquant toutes mes feuilles
- bloquant toutes les cellules
- débloquant sélectivement selon le username, certaines cellules
cela fonctionnerai mais ce n'est pas le cas :/ .. mes cellules AB8 et AL8 quand je suis manger ne se déverrouille pas. Excel me demande toujours :
Si quelqu'un sait où je plante, ce serait top
Voici mon code "allégé" des trucs inutiles, présent sur ThisWorkbook de mon fichier en copie :
Private Sub Workbook_Open()
On Error Resume Next
Dim sh As Worksheet
Dim dLig As Long
Dim Reponse As String
'"=>Pour tout le monde
'<<<<<<<<<<<<<Protection et blocage cellules
For Each sh In ThisWorkbook.Worksheets
'Les feuilles sont protégées
sh.Protect "ndf"
'les cellules bloquées
sh.Cells.Locked = True
Next sh
'Limiter le scrollArea à chaque onglet, ainsi cela évite d'ouvrir 1048576 lignes et d'alourdir inutilement le fichier excel !!
ThisWorkbook.Sheets(1).ScrollArea = "A1:AW250"
ActiveSheet.Name = ActiveSheet.Range("I11").Value
'""En fonction de ce que renvoie le Username, pour chaque personne
Select Case Application.UserName
'"=>MANAGER CASE
Case Application.UserName 'aka Manager test en utilisant ici mon username
''<<<<<<<<<<<<<Protection et blocage cellules
Sheets(1).Unprotect "ndf"
Sheets(1).Cells.Locked = True
Sheets(1).Range("AB8").Locked = False 'je souhaite dévérouiller précisément celle-ci
Sheets(1).Range("AL8").Locked = False 'je souhaite dévérouiller précisément celle-ci aussi
MsgBox "Current user is " & Application.UserName & " and get MANAGER access"
Sheets(1).Range("W:Z").EntireColumn.Hidden = True
Sheets(1).Range("AB:AS").EntireColumn.Hidden = False
Sheets(1).Range("AB7").Select
MsgBox "Please make a short review and approve/reject fees by clicking on corresponding sending icon. Before sending, you can also attach an explanatory comment in the blue area. Thanks you."
Sheets(1).Protect "ndf"
''"=>OTHERS CASE(here EMPLOYEES)
'Case Else 'aka others
''masquage zone controller
'Sheets(1).Range("W:Z").EntireColumn.Hidden = True
''masquage zone manager
'Sheets(1).Range("AB:AS").EntireColumn.Hidden = True
End Select
End Sub