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 -
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 :
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:
- Autoriser des focntions aux utilisateurs sur un fichier protégé
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
2 réponses
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 !!!
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 !!!
Pas de souci, merci tout de même pour votre reponse.
Cdlt