ouverture fichier et apparition aléatoire de feuille
2 réponses
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 =
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <benfr35@free.fr> a écrit dans le message de
news:4747eddf$0$11453$426a74cc@news.free.fr...
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....
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
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
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
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
On 24 nov, 10:25, benfr35 <benf...@free.fr> 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....
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
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....