XL 2019 Masquer des feuilles pour un utilisateur dans un tableau excel

falchi

XLDnaute Nouveau
Bonjour,

j'ai partagé un classeur Excel avec le pc de mon atelier pour que mes employé puisse avoir accès au planning.
mais j'aimerais pouvoir leurs masquer deux feuilles car elle contiennent les prix de ventes. ( facturation câblage et facturation ferronnerie )

Quelle est la solution ?
 

Pièces jointes

  • Planning Fab V2 - Copie.xlsm
    395 KB · Affichages: 7

jui42

XLDnaute Junior
Bonjour avec la propriété .Visible en VBA ou avec un clique droit sur la feuille en question.

Dans mon fichier vous trouverez les deux lignes vba dans votre Module 1.

Cdt
 

Pièces jointes

  • Planning Fab V2 - feuille masqué.xlsm
    389 KB · Affichages: 3

Jacky67

XLDnaute Barbatruc
Bonjour,

Quelle est la solution ?
Bonjour
dans l'éditeur vba
-Sélectionner les feuilles en question et mettre la propriété Visible sur ==> 2-xlsheetVeryHidden
-Au besoin protéger le VBAProject par MDP

1659961879389.png
 

falchi

XLDnaute Nouveau
Bonjour et merci pour vos réponses.

je penses que je me suis mal expliqué.

j'ai partagé ce fichier via OneDrive a l'utilisateur " câblage prod"

Donc ce que je veux c'est que moi je puisse voir ces deux fenêtres mais que l'utilisateur câblage prod ne puisse pas.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Non non, tu t'es bien exprimé et on a donc parfaitement compris ton besoin.👍

Je ne connais pas OneDrive, mais s'il y a un login et password, tu dois pouvoir identifier l'utilisateur, et dans ce cas lui cacher les feuilles que tu veux avec la propriété VeryHidden.
 

TooFatBoy

XLDnaute Barbatruc
le mot de passe et l'utilisateur ce renseigne ou ?
Je ne connais pas OneDrive, mais si il y a un login et password
😉


si j'ai document ouvert sur mon pc avec le code et toute les feuilles ouvertes et que dans l'atelier ils ouvrent et renseigne pas le MDP ça me cache les fenetres chez moi aussi
Alors ça va être dur de cacher des feuilles pour certaines personnes et pas pour d'autres... 😕


De toute façon, quand on connaît la facilité avec laquelle on craque les pw Excel...

Il vaut peut-être mieux créer un fichier pour toi avec toutes les feuilles, et un fichier pour les autres sans les feuilles que tu ne veux pas leur montrer.
Ou alors un fichier pour tout le monde sans les feuilles que tu ne veux pas leur montrer, et un fichier avec pw contenant uniquement ces feuilles.
 
Dernière édition:

fanch55

XLDnaute Barbatruc
A tester avec Onedrive :
Code à placer dans thisworkbook
Modifier Uauth en y mettant le nom windows de la personne autorisée

VB:
Sub Control_Show()
Const Uauth = "Francois"
    Worksheets("FACTURATION FERRONERIE").Visible = Application.UserName = Uauth
    Worksheets("FACTURATION CABLAGE").Visible = Application.UserName = Uauth
End Sub
Private Sub Workbook_Activate()
    Control_Show
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Control_Show
End Sub
 

fanch55

XLDnaute Barbatruc
je peux mettre deux personnes autorisé ?
car ca a l'air de fonctionner
VB:
Sub Control_Show()
Dim Uauth As Variant, User As Variant, Vis As Boolean
    Uauth = Array("François", "Michel")
    For Each User In Uauth
        If Application.UserName = User Then
            Vis = True
            Exit For
        End If
    Next
    Worksheets("FACTURATION FERRONERIE").Visible = Vis
    Worksheets("FACTURATION CABLAGE").Visible = Vis
End Sub
 

Jacky67

XLDnaute Barbatruc
Bonjour,

j'ai partagé un classeur Excel avec le pc de mon atelier pour que mes employé puisse avoir accès au planning.
mais j'aimerais pouvoir leurs masquer deux feuilles car elle contiennent les prix de ventes. ( facturation câblage et facturation ferronnerie )

Quelle est la solution ?
Bonjour,
Ceci dans le thisworkbook permet à 2 personnes dont l'username est "falchi" ou "Jacky" d'afficher les deux feuilles concernées.
Le tout à l'ouverture du classeur
VB:
Private Sub Workbook_Open()
    If Application.UserName = "falchi" Or Application.UserName = "Jacky" Then
        Worksheets("FACTURATION FERRONERIE").Visible = -1
        Worksheets("FACTURATION CABLAGE").Visible = -1
    Else
        Worksheets("FACTURATION FERRONERIE").Visible = 2
        Worksheets("FACTURATION CABLAGE").Visible = 2
    End If
End Sub
Ces feuilles ne seront pas affichable par le clic droit des autres feuilles
 

Discussions similaires

Statistiques des forums

Discussions
312 083
Messages
2 085 175
Membres
102 807
dernier inscrit
Routier78