Permettre aux utilisateurs de modif. plages

Résolu
DELPERO Messages postés 3 Statut Membre -  
DELPERO Messages postés 3 Statut Membre -
Bonjour,
Je viens régulièrement chercher des réponses sur ACCESS ou EXCEL ici.
De nombreuses fois, j'ai trouvé une réponse sur ce site....Merci. Je dois dire que c'est très utile.
Aujourd'hui, je bloque sur Permettre aux utilisateurs de modifier des plages.

VERSION 2003

Plusieurs utilisateurs vont se servir d'un fichier Excel partagé que j'ai élaboré
1/Au départ, je pensais simplement verrouiller les cellules où il y a des formules;
2/Cependant, certains usagers veulent être les seuls à avoir accès aux colonnes qui les concernent;que personne d'autre ne puisse les modifier et je ne tiens pas à ce que les protections de formules puissent être ôtées, (25 utilisateurs)
3/J'ai donc créé des plages et donné des autorisations d'accès selon.
4/A partir de là, je me suis rendu compte que tout le monde a accès aux cellules déverrouillées même dans les plages à accès limité.
5/J'ai donc modifier le format de toutes les cellules (VERROUILLEE)
Maintenant même avec Permettre aux utili... sans mot de passe, feuille protégée; plus personne ne peut modifier les cellules y compris ceux qui y sont autorisés???

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Tu pourrais mettre une macro à l'ouverture du classeur qui, selon le mot de passe saisi, autorise telles ou telles colonnes à la saisie.
    Par exemple avec pw1 peut saisir en A, avec pw2 en B:C, avec pw3 en A:E, etc :
    Private Sub Workbook_Open()
        Dim pw As String
        ' pour la feuille Feuil2
        With Worksheets("Feuil2")
            ' déprotéger la feuille
            .Unprotect ("toto")
            .EnableSelection = xlUnlockedCells    ' sélection des cellules déverrouillées uniquement
            .Range("A:E").Locked = True    'verrouiller les colonnes A:E
            pw = InputBox("mot de passe")
            Select Case pw
            Case "pw1"
                .Range("A:A").Locked = False    'déverrouiller A
            Case "pw2"
                .Range("B:C").Locked = False    'déverrouiller B:C
            Case "pw3"
                Range("A:E").Locked = False
            End Select
            ' reprotéger la feuille
            .Protect Password:="toto", DrawingObjects:=True, Contents:=True, Scenarios:=True
        End With
    End Sub


    Il s'agit d'une protection sommaire pour éviter d'écraser des données par erreur.

    Maintenant si ton pb est que tu n'arrives plus à te servir de ton fichier correctement à part le recopier feuille par feuille dans un tout neuf je ne vois pas...

    eric
    0
    1. DELPERO Messages postés 3 Statut Membre
       
      Je reste intrigué par le fait que je n'arrive pas à faire fonctionner cette option...
      Je dois dire que ton idée est excellente.
      Du coup, je choisis de faire direct un bouton par type d'utilisateur dans ma feuille de Menu, chacun contiendra la macro qui permet de déverrouiller les cellules en question.
      Mon problème est résolu. Merci Eriiic.
      0