Agrupar/desagrupar en una hoja protegida
Resuelto/Cerrado
Tipunchie
-
FRS -
FRS -
Hola,
Estoy utilizando Excel XP.
Tengo una hoja de Excel con alrededor de 300 líneas. He agrupado las líneas por categoría para hacer el archivo más legible...
Hasta ahora, todo bien, los botones +/- y 1/2/3/4 funcionan a la perfección.
Pero, tan pronto como protejo la hoja, es imposible utilizar los botones +/- y 1/2/3/4
¿Por qué protejo mi hoja? Porque se la voy a enviar a otra persona y no tengo muchas ganas de que lo rompa todo, pero me gustaría que también pueda disfrutar de una lectura más fácil a través de los botones +/- y 1/2/3/4
Gracias de antemano
Olivier
Estoy utilizando Excel XP.
Tengo una hoja de Excel con alrededor de 300 líneas. He agrupado las líneas por categoría para hacer el archivo más legible...
Hasta ahora, todo bien, los botones +/- y 1/2/3/4 funcionan a la perfección.
Pero, tan pronto como protejo la hoja, es imposible utilizar los botones +/- y 1/2/3/4
¿Por qué protejo mi hoja? Porque se la voy a enviar a otra persona y no tengo muchas ganas de que lo rompa todo, pero me gustaría que también pueda disfrutar de una lectura más fácil a través de los botones +/- y 1/2/3/4
Gracias de antemano
Olivier
Configuración: Windows XP Internet Explorer 7.0
17 respuestas
-
Hola
Poder agrupar y disociar filas y columnas en una hoja protegida en Excel
Private Sub Workbook_Open() With Worksheets("Hoja1") .EnableAutoFilter = True .EnableOutlining = True .Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True End With End Sub
EnableAutoFilter
UserInterfaceOnly
EnableOutlining
Gracias
--
Archivista en acción :))-
-
-
¡Hola de nuevo!
Para todas las hojas del libro, solo tienes que hacer esto, por ejemplo:
Private Sub Workbook_Open()
With Worksheets("Feuil1")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
With Worksheets("Feuil2")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
End With
End With
End Sub
y así tantas veces como hojas
¡Hasta luego! -
-
-
-
Para simplificar:
1/ Hacer visible la pestaña "Desarrollador"
-> Ir a "Archivo" -> "Opciones" -> "Personalizar la cinta" y marcar la pestaña "Desarrollador"
2/ Ir a la pestaña "Desarrollador"
3/ Hacer clic en "Visual Basic"
4/ Hacer doble clic en "ThisWorkbook" en el árbol a la izquierda
5/ Pegar este fragmento de código:
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
6/ Guardar (el formato puede ser diferente ya que se requiere soporte para macros) -
Cuando proteges la hoja, debes tener varias casillas para marcar/desmarcar (Contenido, celdas, etc.)
No tengo XP por ahora, recuérdame cuáles son estas opciones y te diré cuál desmarcar...
--
¿Por qué complicarse la vida haciendo simple, cuando es tan sencillo hacer complicado? -
Hola,
no entiendo, ¡he probado todos sus códigos y aún no funciona!
mi objetivo es: proteger una hoja, dejando libres algunas celdas (hasta ahí todo bien), y permitir al usuario abrir y cerrar los +/- (esquema).
Aparentemente, los códigos que usted proporciona en este intercambio se corresponden bien con mi solicitud, pero cuando lo hago, ¡no funciona!
Bueno, dado que soy un desastre con VBA, voy a describir lo que hago:
hago clic derecho en la hoja en cuestión, hago clic en "ver código", y en la ventana que aparece pongo:
Private Sub Workbook_Open()
With Worksheets("SAISIE GESTION")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="", UserInterfaceOnly:=True
End With
End Sub
guardé mi documento de Excel, lo cerré, lo volví a abrir y cuando hago clic en los +, me dice que no puedo porque mi hoja está protegida.
Si alguien pudiera aclararme, ¡sería genial!
¡Gracias de antemano y viva los foros! -
Gracias por sus respuestas...
@ LatelyGeek: Comencé protegiendo la hoja marcando todas las opciones (seguridad mínima), entonces se pueden añadir columnas, ocultar o mostrar filas, pero todo el módulo de plan/grupar/desagrupar está indisponible...
@ Raymond: Efectivamente, se parece un poco a eso, pero ni siquiera tengo la posibilidad de dar un empujón :)
¿Por qué Excel diferencia tanto entre poder ocultar/mostrar y agrupar/desagrupar? :s
¡Buen día! -
Bueno, una pena, era una pista...
--
¿Por qué complicarse la vida haciendo lo simple, cuando es tan fácil hacer lo complicado? -
-
Contento por ti de que un Anónimo providencial haya propuesto una solución macro. No sé nada de VBA, y ni siquiera puedo probar la efectividad y la facilidad de uso de este método. Espero que sea transparente para el destinatario de tu archivo. Saludos.
--
¡Está bien, la jubilación! Especialmente en las Antillas... :-)
Raymond -
De hecho, antes de probarlo, intenté entenderlo (eso evita sorpresas desagradables ...)
Desde un punto de vista puramente funcional, no está mal, de hecho, protege la hoja (aunque no estuviera protegida) con la posibilidad de modificar el plan ...
Sin embargo, esto obliga a poner la contraseña en letra completa en la macro ... Lo que es necesariamente una falla de seguridad, por otro lado, para cualquiera que conozca acyd, la seguridad de una contraseña de excel es buena solo para los novatos :)
No obstante, no sé si ha evolucionado en las nuevas versiones de excel, pero tener que pasar por una macro para lograr esto, me sorprende un poco :s
Gracias a todos por su ayuda -
¿Dónde? ¿Antes? ¿Después? ¿No está ya marcado ahí?
Private Sub Workbook_Open()
With Worksheets("SAISIE GESTION")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="", UserInterfaceOnly:=True
End With
End Sub
Lo siento, realmente no sé nada de eso...-
Yo tampoco; solo he leído de nuevo el post https://forums.commentcamarche.net/forum/affich-8003320-grouper-dissocier-sur-une-feuille-proteger#5
-
-
¡jeje! Y bien, no, todavía no funciona.
Debe haber algo muy simple, pero aún así tengo la impresión de haber probado de todo.
Gracias de todos modos.
Si alguien más tiene una idea... -
Hola,
soy novato en VBA y me gustaría poder beneficiarme de mis agrupaciones mientras tengo hojas protegidas.
No logro realizar esta acción, ya tengo una macro que protege mis hojas de una sola vez, ¿es eso el problema?
Aquí está lo que he puesto para obtener la acción de agrupar/desagrupar, pero no funciona y muestra un problema en esta línea (en **negrita**).
“error 9”
Private Sub Workbook_Open()
With Worksheets("Feuil7")
.EnableAutoFilter = True
.EnableOutlining = True
.Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
End With
End Sub
El programa nunca me pide la contraseña, ¿es normal?
¿Qué debo añadir o quitar?
Muchas gracias por tu ayuda
@ pronto -
Hola,
al enfrentar el mismo problema, me estoy centrando en el tema.
El fragmento de programa mencionado en los mensajes anteriores funciona siempre que el archivo esté abierto.
Pero después de cerrar y volver a abrir el archivo, la protección permanece, pero las restricciones que intentábamos eliminar sobre el plegar/desplegar no se conservan.
Por eso es necesario colocarlo en una función que se ejecute al abrir el archivo de Excel (Private Sub Workbook_Open()) y no en un sub clásico como lo estoy haciendo actualmente.
Sin embargo, como los puestos de trabajo no tienen un nivel de seguridad bajo, el lanzamiento de esta macro al abrir no es posible.
Así que si alguien tiene una solución alternativa para que las restricciones persistan en la próxima apertura del archivo, estoy interesado.
Buen día para todos.
Atentamente. -
Buenas noches,
Yo también tengo el mismo problema, tengo varias hojas con columnas o filas agrupadas y las coloco una tras otra como en el ejemplo anterior, pero no funciona porque pone las hojas de trabajo ("nombre hoja") en amarillo.
¿Podrían ayudarme a encontrar de dónde viene el error?
Les agradezco de antemano.
Atentamente -
Hola Grangcycy,
En lugar de "nombre hoja", ¿has escrito el nombre de tu hoja...? Por ejemplo, si la hoja que quieres bloquear se llama "bidule", debes escribir With Worksheets("bidule").
Yo también tengo una pregunta que indicar en esta publicación, ¡que data de 2008! Por mi parte, la macro de bloqueo funciona muy bien (la he asignado a un botón personalizado en mi barra de herramientas). Me preguntaba si podría tener una macro similar que me permita desbloquear al hacer clic en un botón personal, en lugar de ir a herramientas, protección...
Gracias de antemano y Grangcycy, espero que funcione para ti. -
-
"¿Cómo abrir una puerta cerrada con llave de todos modos?"
¡Esa es exactamente la pregunta que haces!
Ocultar líneas para ocultar cierta información es uno de los objetivos prioritarios de la protección de la hoja.
Así que debes elegir, entre usar Agrupar-desagrupar y Proteger la hoja; es uno O el otro.
--
¡Está bien, la jubilación! Sobre todo en las Antillas... :-)
Raymond