Vincenzozo
XLDnaute Nouveau
Bonjour à tous,
Je gère l'affichage d'onglets en fonction de l'identifiant des utilisateurs (pour pas que tout le monde voit tout sur tout le monde...).
Sauf que la "liste" d'autorisation est une galère à gérer...
Les chefs ayant accès à tous, ça fait tout de suite des lignes et des lignes...
Il n'y aurait pas moyen de simplifier ça avec une matrice?
Le liste d'autorisation ressemble à ça :
Le code que j'utilise pour la gestion à l'ouverture :
(la feuille 1 comporte un message d'alerte demandant à activer les macros)
Merci d'avance
Je gère l'affichage d'onglets en fonction de l'identifiant des utilisateurs (pour pas que tout le monde voit tout sur tout le monde...).
Sauf que la "liste" d'autorisation est une galère à gérer...
Les chefs ayant accès à tous, ça fait tout de suite des lignes et des lignes...
Il n'y aurait pas moyen de simplifier ça avec une matrice?
Le liste d'autorisation ressemble à ça :
id_chef / onglet1
id_chef / onglet2
...
id_collaborateur / onglet_collaborateur
...
Le code que j'utilise pour la gestion à l'ouverture :
(la feuille 1 comporte un message d'alerte demandant à activer les macros)
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Fl As Worksheet
Set Fl = ThisWorkbook.Worksheets("Feuil1")
Fl.Visible = xlSheetVisible
For Each Fl In ThisWorkbook.Worksheets
If Fl.Name <> "Feuil1" Then
Fl.Visible = xlSheetVeryHidden
End If
Next
Set Fl = Nothing
End Sub
Private Sub Workbook_Open()
Dim Fl As Worksheet
For i = 1 To Range("user").Count
If UCase(Environ("username")) = UCase(Range("user")(i)) Then
temp = Range("feuille")(i)
Sheets(temp).Visible = True
End If
Next i
Set Fl = ThisWorkbook.Worksheets("Feuil1")
Fl.Visible = xlSheetHidden
End Sub
Merci d'avance