Re : Fichier à partager pour plusieurs utilisateurs
Hello,
j'ai du attendre d'arriver au boulot pour pouvoir ouvrir le fichier
Quand j'ouvre le fichier excel, rien ne se passe et je ne voie que les deux feuilles 'explanations' et 'info'.
j'ai enablé les macros du fichier, mais rien ne se passe, je n'ai pas accès à un formulaire ou je peux choisir un user pour que sa feuille apparaisse.
Je suis allée dans VBA (en cliquant sur design mode), mais pour etre honnete, je n'ai rien compris ..malgré tes explications en vert :
Voilà ce que j'ai qui s'affiche et mes questions:
1. pourquoi y a til deux parties 'option explicit' et 'private sub book' ?
2. est ce que je dois changer les commentaires en vert en mettant les vraies informations ? par exemple 'liste des feuilles qu'il faut laisser afficher', comment dois je écrire le nom des feuilles (y a til une syntaxe spécifique ?)
3. dans la deuxième partie, les noms utilisés seront les mêmes que les feuilles dédiées à chacun de ces noms: donc LNoms = LFeuil ?
il faut mettre les noms entre guillemets ?
4. comment créer le formulaire avec tous les noms ?
5. ou est ce que je dois mettre l'information nom et mot de passe pour chaque nom ?
Merci pour ton aide encore,
Tu n'as pas une astuce pour que je puisse utiliser ton code sur mon mac (comme ca, je pourrai regarder chez moi).
Par exemple, si je le recopie dans VBA dans mon excel chez moi, ca ne fonctionnerai pas ?
Bonne journée
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Sht As Worksheet, ShtOK As String
' Liste des feuilles qu'il faut laisser affichée
ShtOK = "Explanations,Info" ' Attention au nom de la feuille [Explanations] sans espace
For Each Sht In ThisWorkbook.Sheets
' Si le nom de la feuille ne fait pas partie de la liste
If InStr(1, ShtOK, Sht.Name) = 0 Then
' La masquer complètement
Sht.Visible = xlSheetVeryHidden
End If
Next Sht
End Sub
Private Sub Workbook_Open()
Dim LNoms As String, TabNom() As String, LFeuil As String, TabFeuil() As String
Dim Ind As Integer
Dim NUser As String
LNoms = "adrien.dupont,bernard.durand,NonoZ" ',annick.lemetre"
LFeuil = "User 1,User 2,User 3"
' Récupérer le nom de l'utilisateur : nom d'ouverture de session
NUser = GetNom
' Vérifier si l'uilisateur est dans la liste
If InStr(1, LNoms, NUser) > 0 Then
' Créer le tableau des utilisateur
TabNom = Split(LNoms, ",")
' Créer le tableau des feuilles
TabFeuil = Split(LFeuil, ",")
' Trouver l'utilisateur concerné
For Ind = 0 To UBound(TabNom)
If TabNom(Ind) = NUser Then
Sheets(TabFeuil(Ind)).Visible = xlSheetVisible
Sheets(TabFeuil(Ind)).Activate
End If
Next Ind
End If
End Sub