Vérouillage automatique de cellules

lechat -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J’ai une série de fichiers excel protégés par un mot de passe et sur lesquels j’aimerais qu’une macro me permette

- de déverrouiller les cellules vides à l’ouverture du fichier (afin de n’autoriser la saisie que dans ces cellules)

- de verrouiller les cellules qui ont été remplies lors de l’enregistrement

- Pourriez-vous m’aider ?

- Merci d’avance

1 réponse

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonsoir,

Voici ce que tu pourrais mettre dans ThisWorkbook :
Option Explicit
Dim c As Range
Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    For Each c In [ZoneControlée]
        c.Parent.Unprotect
        If c.Value = "" Then
            c.Locked = False
            c.Interior.ColorIndex = 35
        Else
            c.Locked = True
            c.Interior.ColorIndex = xlNone
        End If
        c.Parent.Protect
    Next c
    Application.ScreenUpdating = True
End Sub

J'ai ajouté un changement de la couleur de fond que l'utilisateur sache où il peut saisir et surtout modifier ses saisies.
Ce n'est pas très rapide (peut-être à optimiser) donc il faut sélectionner la plage des saisies et la nommer ZoneControlée (respecter accent et majuscules) pour ne pas avoir toute la feuille à traiter.

exemple :
http://www.cijoint.fr/cjlink.php?file=cj200809/cijGFBbnRk.xls

eric
0