Permettre aux utilisateurs de modif. plages

Résolu
DELPERO Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
DELPERO Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
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
DELPERO Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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