Verrouiller automatiquement des cellules

Bonjour,

j'ai un document (planning de réservation) mis à disposition de plusieurs personnes (accès libre).

Afin de limiter les erreurs / modif intempestives, je souhaiterais lorsqu'on remplit une zone, et après avoir enregistrer ces modifs, qu'à la fermeture du doc , les zones complétées soient automatiquement verrouillées via une macro.

Du coup à la prochaine ouverture du doc, les zones réservées sont verrouillées et on ne peux intervenir que sur les zones non verrouillées.

En clair, ces zones là ne pourraient être modifiées que par la (les) personnes disposant d'un mot de passe.

J'ai utiliser du conditionnel afin que visuellement les zones réservées soient en rouge mais ce n'est pas assez sûr.

Est-ce possible, si oui, quelqu'un peut-il m'aider ?

Bonsoir,

Ci-joint le fichier "modifié" uniquement sur la semaine 52 :

Toute la feuille est protégée sur la modification sauf la zone de réservation D8:W19

pour faire ceci, il faut sélectionner la zone que l'on veut laisser modifiable (continue ou pas), faire un clic droit et sélectionner "format de cellule", cliquer sur l'onglet "protection" et décocher la case à cocher en face de "verrouillée".

Ensuite il faut mettre la protection à la feuille "révision" - protéger la feuille - mettre un mot de passe puis confirmer.

ATTENTION ! dans la macro le mot de passe est LRD.

Ensuite suite au changement de valeur d'une des cellules de la zone, la macro se lance et met la protection sur les cellules dont la valeur est différente de rien <>"".

Votre mise en forme marche et la cellule devient protégée sur fond rouge.

Si une valeur est à modifiée, il faut retirer la protection de la feuille, donc connaître le mot de passe...

La macro événementielle de "change" est à recopier sur toutes les feuilles de semaine. Ca je vous laisse le faire.

Si vous décidez de modifier le mot de passe (c'est mieux), il vous faut commencer par retirer la protection de la feuille S52, je vous le rappel : LRD

Une fois toutes les feuilles déprotégées, sous VBA, dans le module 2, remplacer LRD par le nouveau mot de passe.

Voilà, bonne programmation et @ bientôt

LouReeD

Nota : c'est une très petite protection, le mot de passe étant visible sous VBA...

Merci beaucoup loureed pour votre aide.

j'aimerais rajouter une msgbox vbokcancel lorsqu'on arrive sur la feuille pour informer que toute modif sera irrémédiable :

cancel ferme le doc sans enregistrer

mais je bloque .... comment dois-je procéder ?

Merci d'avance

Une solution est d'afficher le message à l'ouverture du fichier dans le private sub workbook_open :

Private Sub Workbook_Open()
    msg = MsgBox("Attention ! Toutes modifications est définitive, pas de retour en arrière. Seul l'administrateur pourra faire les corrections nécessaire. Voulez-vous continuez ?", vbYesNo)
    If vbYesNo <> 4 Then
        ThisWorkbook.Close
    End If
End Sub

Voilà, mais c'est très superficiel, à vous d'agrémenter tout cela.

@ bientôt

LouReeD

MERCI beaucoup pour votre aide.

J'avais mis la msgbox sur le feuille 52 mais ça n'était pas satisfaisant.

Merci encore !

mais de rien

n'oubliez pas

@ bientôt

LouReeD

Rechercher des sujets similaires à "verrouiller automatiquement"