Fichier à partager pour plusieurs utilisateurs

Karine222

XLDnaute Nouveau
Bonjour,

Nouvellement sur ce forum, j'aimerai trouver une manière de partager un même fichier Excel, pour plusieurs utilisateurs qui doivent pouvoir apporter chacun leurs modifications sans pouvoir voir ni modifier les feuilles des autres.

J'aimerai créer une macro, mais je n'en ai jamais fait.
L'idée est que lorsque l'utilisateur ouvre le fichier Excel :
1. un bouton apparait disant 'qui etes vous ?'
2. quand l'utilisateur clique sur ce bouton, un menu déroulant lui permet de sélectionner son nom dans une liste.
3. apparait alors uniquement sa feuille (les autres feuilles seront cachées), dans laquelle il peut ajouter des informations, modifier et sauvergarder.

J'ai attaché un exemple tout simple, où les utilisateurs sont 1.2 et 3.
J'aimerai que lorsque l'utilisateur 1 écrit son nom, il se retouve sur la feuille User1, et j'aimerai que cette feuille User 1, automatiquement se remplisse avec les informations relatives au User 1 (Username, Plant et group) dès que de nouvelles informations sont rentrées sur une ligne.
J'aimerai également que les feuilles Explanations et Info restent apparentes, quelque soit le User.

J'espère que je n'en demande pas trop, et de toute façon, tout conseil et toute pistes sont les bienvenus :)

Merci d'avance pour votre aide,
 

Pièces jointes

  • Trial.xlsx
    10.3 KB · Affichages: 83
  • Trial.xlsx
    10.3 KB · Affichages: 88
  • Trial.xlsx
    10.3 KB · Affichages: 83
C

Compte Supprimé 979

Guest
Re : Fichier à partager pour plusieurs utilisateurs

Bonjour Karine222,

Tu trouveras ci-joint un fichier avec du VBA
A l'ouverture du fichier le code se lance

Mon code se sert du nom d'ouverture de session windows pour ouvrir telle ou telle feuille
La feuille correspondante au nom est dans le même ordre : 1er nom = 1ère feuille

Les noms et feuilles a afficher sont inscrit en dur dans le code,
mais on peut très bien mettre cela dans une feuille cachée (bien que je n'aime pas)

A+
 

Pièces jointes

  • Karine222_Trial.xlsm
    22.2 KB · Affichages: 126

Karine222

XLDnaute Nouveau
Re : Fichier à partager pour plusieurs utilisateurs

Hello :)

Merci beaucoup pour ta réponse.
Le problème est que quand VBA s'ouvre, j'ai un message d'erreur.
une des lignes du code est soulignée en jaune et pointée d'une flèche :

status = WNetGetUser(lpName, lpUserName, lpnLength)

J'ai oublié de préciser que j'ai fait le fichier sur un PC tout à l'heure, et là je suis sur MAC. Est ce que tu crois que c'est ça qui ne fonctionne pas ?

Merci beaucoup,
 

Karine222

XLDnaute Nouveau
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
 

Discussions similaires

Statistiques des forums

Discussions
314 012
Messages
2 104 530
Membres
109 063
dernier inscrit
rahimmcsaw