Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ouverture fichier et apparition aléatoire de feuille

2 réponses
Avatar
benfr35
Bonjour

Ne maitrisant que tr=E8s peu VB, je souhaite savoir s'il y a la=20
possibilit=E9 au moment de l'ouverture d"un fichier excel de n'afficher=20
que certaines feuilles, en bloquant =E9galement la possibilit=E9 de le fa=
ire=20
manuellement, et le plus dire en fonction d'un profil windows de=20
d=E9marrage de session.

j'esp=E8re avoir =E9t=E9 clair.

le but recherch=E9 :

d=E9poser dans une base lotus notes des documents excel, qui s'ouvrirait =

sur la feuille autoris=E9 pour l'utilisateur....

merci

2 réponses

Avatar
Philippe.R
Bonjour,
Ce que tu décris est à priori possible.
Il faut pour ça :
masquer toutes les feuilles devant être affichées sous condition à la
fermeture du classeur.
récupérer l'identifiant de l'utilisateur à l'ouverture en utilisant une
variable comme ceci par exemple :
kikela=environ("username")
utiliser cette variable pour afficher ou non chacune des feuilles

on aura donc dans le module ThisWorkbook du projet quelque chose qui
ressemblerait à :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("zaza").Visible = xlVeryHidden
Sheets("recap").Visible = xlVeryHidden
Sheets("totaux").Visible = xlVeryHidden
End Sub

Private Sub Workbook_Open()
kikela = Environ("username")

Select Case kikela
Case Is = "toto"
Sheets("zaza").Visible = True
Sheets("recap").Visible = True
Case Is = "riri"
Sheets("totaux").Visible = True
Case Else
MsgBox "Désolé, vous n'avez pas accès à ce classeur !"
ThisWorkbook.Saved = True
ThisWorkbook.Close
End Select
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"benfr35" a écrit dans le message de
news:4747eddf$0$11453$
Bonjour

Ne maitrisant que très peu VB, je souhaite savoir s'il y a la
possibilité au moment de l'ouverture d"un fichier excel de n'afficher
que certaines feuilles, en bloquant également la possibilité de le faire
manuellement, et le plus dire en fonction d'un profil windows de
démarrage de session.

j'espère avoir été clair.

le but recherché :

déposer dans une base lotus notes des documents excel, qui s'ouvrirait
sur la feuille autorisé pour l'utilisateur....

merci
Avatar
JB
Bonjour,

Un onglet Admin contient la correspondance User -> Feuilles:

User Feuille
Boisgontier xxx
Boisgontier yyy
Dupont zzz

A la sauvegarde du classeur, on masque toutes les feuilles (sauf la
page d'accueil):

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
For s = 2 To Sheets.Count ' on masque les feuilles
Sheets(s).Visible = xlVeryHidden
Next s
End Sub

A l'ouverture, on affiche la(ou les) feuille(s) de l'utilisateur:

Private Sub Workbook_Open()
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
End Sub

http://boisgontierjacques.free.fr/pages_site/protection.htm#ProtectionMF

JB


On 24 nov, 10:25, benfr35 wrote:
Bonjour

Ne maitrisant que très peu VB, je souhaite savoir s'il y a la
possibilité au moment de l'ouverture d"un fichier excel de n'afficher
que certaines feuilles, en bloquant également la possibilité de le fai re
manuellement, et le plus dire en fonction d'un profil windows de
démarrage de session.

j'espère avoir été clair.

le but recherché :

déposer dans une base lotus notes des documents excel, qui s'ouvrirait
sur la feuille autorisé pour l'utilisateur....

merci