Problème de protection: Protect UserInterfaceOnly
Bonjour,
J'ai un problème avec la protection des feuilles de mon classeur. Je vous explique:
A l'ouverture de mon classeur, toutes les feuilles deviennent protégées avec l'option UserInterfaceOnly = True.
Cela devrait me permettre normalement d'agir sur toutes les feuilles uniquement via les procédures de mon projet VBA.
Malheureusement, des fois ça marche (j'arrive à supprimer des colonnes d'une feuille via un UserForm) et des fois non.
Voici le code qui permet de protéger les feuilles du classeur:
Code:
1 2 3
| Private Sub Workbook_Open()
ModuleCommons.protectAllSheets
End Sub |
Code:
1 2 3 4 5 6 7 8 9 10
| Public Sub protectAllSheets()
Dim I As Integer
Application.ScreenUpdating = False
For I = 1 To Worksheets.Count
Worksheets(I).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowSorting:=True, AllowFiltering:=True, UserInterfaceOnly:=True
Next I
Application.ScreenUpdating = True
End Sub |
Voici la ligne qui cause une erreur:
Code:
formConfigCachees.Columns(consultantColumn).Delete Shift:=xlRight
consultantColumn est le numéro d'une colonne bien rempli dans la feuille formConfigCachees.
Et voici le message d'erreur:
Error 1004: La méthode Delete de la classe Range a échoué
J'ai bien vérifié dans les deux cas (celui où ça marche et celui où ça ne marche pas) que juste avant de faire le Delete, j'avais formConfigCachees.ProtectionMode = Vrai.
quelqu'un aurait-il une réponse où une idée à mon problème?