Vérouillage automatique de cellules

lechat -  
eriiic Messages postés 24581 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
Configuration: Windows XP
Internet Explorer 6.0

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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