Déprotéger des feuilles en fonction de l'utilisateur

Tophe2

XLDnaute Impliqué
Bonjour le forum

J'ai un fichier excel ou il y a une macro à l'ouverture du classeur ou en fonction de l'utilisateur il ouvre ou pas les onglets spécifiés dans la feuille Admin.

Pouvez me dire comment faire pour, en fonction de l'utilisateur on puisse désactiver les protections des feuilles ou de certaines feuilles et à la fermeture pour tous les utilisateurs une macro pour protéger 1 feuille bien précise surtout celle intitulé "Visuel".

Il y a également une macro à la fermeture cependant pour protéger le classeur activesheet.protect mais pour une feuille bien précise je ne sais pas !!

Le fichier est joint POUR ACTIVER TOUTES LES FEUILLES "TOCHE" en d4 et double cliquer.

Merci
Cordialement
et bon 14 juillet
Cristophe.
 

Pièces jointes

  • Equipe ETE.zip
    146.9 KB · Affichages: 43

antha

XLDnaute Occasionnel
Re : Déprotéger des feuilles en fonction de l'utilisateur

Bonjour,

Pour reprendre un bout de la macro que tu as déjà :
Code:
With Sheets("Admin")
    For i = 2 To Sheets("Admin").Range("A6500").End(xlUp).Row
        If UCase(.Cells(i, 1)) = UCase(Environ("UserName")) Then
        Sheets("xxx").unprotect
        End If
    Next
End With

Tu remplaces "xxx" par le nom de ta feuille, ou le numéro de la feuille (sans les "").
Tu peux multiplier les lignes si plusieurs feuilles (je crois que ca ne fonctionne pas Sheets(Array(... pour cela). S'il y a beaucoup de feuilles, tu peux aussi faire une boucle pour les (dé)protéger "en masse".



Pour protéger avec les options de base :
Sheets("xxx").Protect DrawingObjects:=False, Contents:=True, Scenarios:=False
(utilise l'enregistreur de macro pour adapter à ce que tu souhaites).
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 867
Membres
103 979
dernier inscrit
imed