ouverture fichier et apparition aléatoire de feuille

Le
benfr35
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 fa=
ire
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #5064371
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" 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
JB
Le #5064221
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
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


Publicité
Poster une réponse
Anonyme