Macro para evitar la modificación de celdas rellenadas.

Resuelto
Torre -  
 Torre -
Bonjour,

Quiero programar una macro para que no se puedan modificar las celdas llenas, pero que se pueda escribir en las celdas vacías de la misma tabla y que solo se puedan modificar las celdas llenas con una contraseña.

¿Podría ayudarme, por favor?

2 respuestas

  1. Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
     
    Hola,

    Si deseas acceder a la playa A2:G30 y bloquear las celdas de esa playa después de la entrada, pero modificable con contraseña
    comienza por seleccionar la playa/clic derecho/formato de celda/Protección/desmarca Bloqueada

    playa aún seleccionada/pestaña Revisión/módulo Modificaciones/Permitir la modificación de las playas/Nueva/en hace referencia a las celdas deberías tener los límites de la playa seleccionada/introducir una contraseña para acceder a la modificación después de la protección, por ejemplo toto

    en las propiedades de la hoja, clic derecho en la pestaña de tu hoja/Ver código/pega este código

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([A2:G30], Target) Is Nothing And Target.Count = 1 Then
    ActiveSheet.Unprotect Password:="titi"
    Target.Locked = True
    ActiveSheet.Protect Password:="titi"
    End If
    End Sub

    regresa a tu hoja, protégela con una contraseña que puede ser diferente de la de modificación, en el ejemplo he elegido titi asegúrate de que el acceso a las celdas bloqueadas y desbloqueadas esté marcado en las opciones de protección de tu hoja
    --
    A+
    Mike-31

    Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento.
    0
    1. Torre
       
      C'est super, merci, mais je voudrais utiliser ce système de mot de passe uniquement pour empêcher les modifications des cellules déjà remplies. Je m'explique : ces tableaux vont contenir les informations écrites par différentes équipes, et je ne voudrais pas qu'une équipe modifie les infos des autres équipes. Je voudrais que la seule capable de modifier les informations soit le responsable, donc il faudrait que le système ne protège que les cellules remplies et pas les cellules vides.
      En gros, quand on clique sur une cellule vide, il n'y a pas de protection par mot de passe, mais lorsque l'on remplit la cellule, on soit obligé de mettre un mot de passe pour la modifier.
      0
    2. Torre
       
      J'ai trouvé une macro qui conviendrait si, à la place du message "Impossible de sélectionner cette cellule", il y avait une demande de mot de passe qui bloquerait ou autoriserait les modifications selon qu'il est entré correctement ou non : ```vba Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim plage As Range Set plage = Range("A1:H1") If Not Application.Intersect(Target, plage) Is Nothing Then If Not IsEmpty(Target) Then Dim motdepasse As String motdepasse = InputBox("Entrez le mot de passe pour modifier cette cellule :") If motdepasse = "votre_mot_de_passe" Then ' Autoriser les modifications Else MsgBox "Mot de passe incorrect. Impossible de sélectionner cette cellule." Target.Offset(1, 0).Select End If End If End If End Sub ```
      0