Protéger une feuille : Autorisations ne se conservent pas
cyril-182
-
cyril-182 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
cyril-182 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un fichier excel ou je protège les feuilles les modifications, dans la feuille de dialogue j'autorise :
- Modifier format des lignes
- Ajout de lignes
- Supprimer des lignes
- Modifier les objets
Tout fonctionne parfaitement, je peux modifier la hauteur des lignes et en ajouter, etc..
donc je sauvegarde.
Problème: quand je ferme le fichier et le ré-ouvre, je peux uniquement modifier les objets (zones de texte) mais je ne peux plus ajouter/supprimer des lignes ou en modifier la hauteur...
D'autre part, j'ai une MACRO qui autorise les "grouper/dégrouper", j'ai fait un copier/coller ICI:
https://forums.commentcamarche.net/forum/affich-8003320-grouper-dissocier-sur-une-feuille-proteger
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With
Next I
End Sub
J'ai du mal avec les codes, est ce que cette macro pourrait bloquer la modification des lignes en autorisant les grouper/dégrouper??
Sinon, avez vous une idée d'où cela peut venir?
Merci d'avance...
J'ai un fichier excel ou je protège les feuilles les modifications, dans la feuille de dialogue j'autorise :
- Modifier format des lignes
- Ajout de lignes
- Supprimer des lignes
- Modifier les objets
Tout fonctionne parfaitement, je peux modifier la hauteur des lignes et en ajouter, etc..
donc je sauvegarde.
Problème: quand je ferme le fichier et le ré-ouvre, je peux uniquement modifier les objets (zones de texte) mais je ne peux plus ajouter/supprimer des lignes ou en modifier la hauteur...
D'autre part, j'ai une MACRO qui autorise les "grouper/dégrouper", j'ai fait un copier/coller ICI:
https://forums.commentcamarche.net/forum/affich-8003320-grouper-dissocier-sur-une-feuille-proteger
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True
End With
Next I
End Sub
J'ai du mal avec les codes, est ce que cette macro pourrait bloquer la modification des lignes en autorisant les grouper/dégrouper??
Sinon, avez vous une idée d'où cela peut venir?
Merci d'avance...
Configuration: Windows / Firefox 64.0
A voir également:
- Protéger une feuille : Autorisations ne se conservent pas
- Proteger cellule excel - Guide
- Bruler une feuille de laurier - Guide
- Comment supprimer une feuille sur word - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Comment imprimer en a5 sur une feuille a4 - Guide
2 réponses
Bonjour,
C'est normal. Ta macro a la fonction de protéger tes feuilles, avec les options par défaut. Donc, pratiquement rien n'est autorisé. Il faut ajouter tes propres autorisations à ta macro :
m@rina
C'est normal. Ta macro a la fonction de protéger tes feuilles, avec les options par défaut. Donc, pratiquement rien n'est autorisé. Il faut ajouter tes propres autorisations à ta macro :
.Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingCells:=True, _
AllowInsertingRows:=True, AllowDeletingRows:=True, DrawingObjects:=False
m@rina
Re-Bonjour,
Finalement mon problème n'est pas totalement résolu:
J'ai cette MACRO:
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingRows:=True, _
AllowInsertingRows:=True, AllowDeletingRows:=True, DrawingObjects:=False
End With
Next I
End Sub
Je peux faire / défaire des groupes de lignes, modifier la hauteur, en insérer, mais je ne peux pas les supprimer !
Il me met un message comme quoi je ne peux pas supprimer une cellule verrouillée, alors que c'est justement mon objectif: pouvoir supprimer les lignes dont je n'ai pas besoin même si celles-ci contiennent des cellules verrouillées...
Enfait par "verouillées" je veux juste que les utilisateurs du fichier ne puissent pas modifier/écrire dans n'importe quelle cellule ou modifier la largeur des colonnes, donc peut être qu'il y a mieux...
Encore désolé je suis vraiment une buse en VBA
Avez vous une idée?
Finalement mon problème n'est pas totalement résolu:
J'ai cette MACRO:
Private Sub Workbook_Open()
Dim WS_Count As Integer
Dim I As Integer
WS_Count = ActiveWorkbook.Worksheets.Count
For I = 1 To WS_Count
With ActiveWorkbook.Worksheets(I)
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, UserInterfaceOnly:=True, AllowFormattingRows:=True, _
AllowInsertingRows:=True, AllowDeletingRows:=True, DrawingObjects:=False
End With
Next I
End Sub
Je peux faire / défaire des groupes de lignes, modifier la hauteur, en insérer, mais je ne peux pas les supprimer !
Il me met un message comme quoi je ne peux pas supprimer une cellule verrouillée, alors que c'est justement mon objectif: pouvoir supprimer les lignes dont je n'ai pas besoin même si celles-ci contiennent des cellules verrouillées...
Enfait par "verouillées" je veux juste que les utilisateurs du fichier ne puissent pas modifier/écrire dans n'importe quelle cellule ou modifier la largeur des colonnes, donc peut être qu'il y a mieux...
Encore désolé je suis vraiment une buse en VBA
Avez vous une idée?
Desole mais n'ayant jamais eu les cours de VBA j'ai un peu de la peine...
Sinon j'aurai fait directement quelque chose qui permet d'ajuster automatiquement la hauteur d'une cellule fusionnée mais je n'ai pas trouvé quelque chose de simple.
Ou bien ajustement automatique des la hauteur de ligne en fonction de la zone de texte?
Bref ça fonctionne très bien comme ça donc encore merci pour la réponse claire et rapide.