Autoriser des focntions aux utilisateurs sur un fichier protégé

Remi2236 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J’ai un problème sur un fichier Excel que je n’arrive pas à résoudre.

J’ai un fichier Excel où chaque feuille est protégée par un mot de passe (mis via l’onglet « révision » / « protéger la feuille »). Le but étant que les utilisateurs :

• Sur les feuilles « MENU » et « Accueil » :
- Ne puissent pas modifier ou supprimer quoi que ce soit sans enlever le mot de passe dans « révision »

• Sur la feuille « Synthèse » :
- Ne puissent pas modifier les titres des colonnes (A1 :FJ1) et des lignes (A1 :C229)
- Ne puissent pas supprimer les colonnes et les lignes
- Ne puissent pas effectuer de copier/coller
- Qu’ils puissent insérer des liens hypertextes dans les cellules sur la plage D2 :FJ229
- Qu’ils puissent effectuer des filtres/tri parmi les cellules sur la plage D2 :FJ229 via les filtres des cellules D1 :FJ1

J’ai effectué dans le ThisWorkBook sur VBA ce code :

Private Sub Workbook_Open()
    Worksheets("Synthèse").Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    Worksheets("MENUS").Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    Worksheets("Accueil").Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    Application.DisplayAlerts = False
    With Worksheets("Synthèse")

        Range("D1:FJ1").Locked = False
        If Worksheets("Synthèse ").Protection.AllowFiltering = False Then
        Worksheets("Synthèse ").Protect AllowFiltering:=True
        End If
        
        Range("D2:FJ2000").Locked = False
        If Worksheets("Synthèse ").Protection.AllowInsertingHyperlinks = False Then
        Worksheets("Synthèse ").Protect AllowInsertingHyperlinks:=True
        End If
        
        .EnableAutoFilter = True
        Application.CutCopyMode = False
        Application.CellDragAndDrop = False
        .EnableOutlining = True
        .Protect Contents:=True, UserInterfaceOnly:=True
        
    End With
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ThisWorkbook.Save
    Worksheets("Synthèse ").Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    Worksheets("MENUS").Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    Worksheets("Accueil").Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Application.CutCopyMode = False
Application.CellDragAndDrop = False
End Sub

Tout fonctionne sauf la possibilité d’insérer des liens hypertexte dans les cellules D2 :FJ229, et je peux utiliser les filtres sur les cellules entre D1 :FJ229 mais le filtre ne s’applique pas sur les cellules sur D2 :FJ229, tout reste figé sans se filter.

J’ai également mis dans la feuille « Synthèse » le code suivant :

Private Sub Worksheet_Activate()
    ActiveSheet.Protect Password:="Eludril33", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
End Sub
Sub StopDeleteRowCols()
    Dim xBarControl As CommandBarControl
        For Each xBarControl In Application.CommandBars.FindControls(ID:=293)
        xBarControl.Enabled = False
    Next
        For Each xBarControl In Application.CommandBars.FindControls(ID:=294)
        xBarControl.Enabled = False
    Next
End Sub
A voir également:

2 réponses

Raymond PENTIER Messages postés 58990 Date d'inscription   Statut Contributeur Dernière intervention   17 354
 
Bonjour.

Je suis nul en VBA, et je ne saurais commenter ta macro ...
Je m'interroge seulement sur l'utilité de ta première demande :
" Sur les feuilles « MENU » et « Accueil » : - Ne puissent pas modifier ou supprimer quoi que ce soit sans enlever le mot de passe dans « révision » "
puisque c'est justement ce à quoi servent l'outil "Protéger la feuille" et le mot de passe !!!
0
Remi2236 Messages postés 86 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,
Pas de souci, merci tout de même pour votre reponse.
Cdlt
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

D2 :FJ229 sont déverrouillées ?
Quel message ou pb quand tu y mets un lien ?
eric

0