[VBA-Excel] Protéger une partie de la feuille par Macro
Protéger une partie de la feuille par Macro [VBA-Excel] - VB/VBA/VBS - Programmation
MarshPosté le 20-09-2011 à 16:28:26
Bonjour a tous, Je tente de faire une petite macro mais je n'arrive pas a atteindre le but. J'ai une feuille sous Excel, auquel je voudrais bien pouvoir afficher/cacher tout une série de ligne avec un ToggleSwitch (easy), mais qui est protégé par un password. en gros: On clic cela demande un password et cela affiche le bloc de ligne si il est correct. On reclick, cela cache ce même block de ligne. pour l'instant j'ai cela:
Option Explicit Private Sub ToggleButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Sheets("Comptes" ).Select ActiveSheet.Unprotect ("1234" ) If Rows("27:38" ).EntireRow.Hidden = True Then Dim MDP MDP = InputBox("Enter the Password:", "Password" ) If MDP = "1234" Then Rows("27:38" ).EntireRow.Hidden = False
End If Else Rows("27:38" ).EntireRow.Hidden = True End If ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True _ , AllowFormattingCells:=True, AllowFormattingColumns:=True, _ AllowInsertingColumns:=True, AllowInsertingRows:=True, _ AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _ AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _ AllowUsingPivotTables:=True End Sub
malheureusement, quand la feuille est protégée (ce que je dois faire pour pas qu'on puisse aller lire le code VBA ou bien juste afficher/cacher les lignes en questions; je ne sais plus ajouter/supprimer des commentaires. (ce que je dois absolument savoir faire).
Marsh Posté le 20-09-2011 à 16:28:26
Bonjour a tous,
Je tente de faire une petite macro mais je n'arrive pas a atteindre le but.
J'ai une feuille sous Excel, auquel je voudrais bien pouvoir afficher/cacher tout une série de ligne avec un ToggleSwitch (easy), mais qui est protégé par un password.
en gros:
On clic cela demande un password et cela affiche le bloc de ligne si il est correct.
On reclick, cela cache ce même block de ligne.
pour l'instant j'ai cela:
Option Explicit
Private Sub ToggleButton1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("Comptes" ).Select
ActiveSheet.Unprotect ("1234" )
If Rows("27:38" ).EntireRow.Hidden = True Then
Dim MDP
MDP = InputBox("Enter the Password:", "Password" )
If MDP = "1234" Then
Rows("27:38" ).EntireRow.Hidden = False
End If
Else
Rows("27:38" ).EntireRow.Hidden = True
End If
ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowInsertingColumns:=True, AllowInsertingRows:=True, _
AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _
AllowUsingPivotTables:=True
End Sub
malheureusement, quand la feuille est protégée (ce que je dois faire pour pas qu'on puisse aller lire le code VBA ou bien juste afficher/cacher les lignes en questions; je ne sais plus ajouter/supprimer des commentaires. (ce que je dois absolument savoir faire).
une idée comment résoudre cela?
Thanks all!