Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Restreindre l acces a des feuilles excel

L

lionel

Guest
Bonjour,

J'ai besoin d un petit coup de pouce.

J'ai un fichier excel avec 5 onglets. l objectif est de restreindre l acces en visibilite et ecriture des acces a 5 types de users :
- 4 users qui n auraint acces chacun qu a une feuille
- 1 "administrateur" qui a acces a l ensemble des feuilles.

Ma methode (un peu artisanale)

1, faire une 1ere feuille "authetification" . et dans ce cas la, il me manque une fonction de la forme :

=Si(test1=vrai;"alors je vais dans telle feuille";0)

Est ce que qqn saurait comment faire "alors je vais dans telle feuille"!

Merci
 
D

Dan

Guest
Bonjour,

Via une macro avec la fonction "inputbox" tu pourrais définir les mots de passe de chaque utilisateur et de l'administrateur.
Chaque utilisateur serait invité à encoder son mot de passe et ne lui permettrait d'utiliser que les feuilles dont l'accès a été définit par l'administrateur.

Cependant tu peux penser le système de deux façons :

Solution 1 :
A l'ouverture du fichier tu arrives sur une feuilles contenant des icônes qui permettent à l'utilisateur d'utiliser par exemple les feuilles 2 et 4 et un autre les feuilles 2 et 3

Solution 2 :
A l'ouverture du fichier, un mot de passe est demandé à l'utilisateur pour ouvrir le fichier.
Si le mot de passe est correct, l'utilisateur voit les feuilles le concernant. Dans le cas contraire, le fichier se referme automatiquement.

Voilà un 1er jet d'idée.

Dans l'attente de te lire

A+

Dan
 
L

lionel

Guest
Merci Dan pour ton aide.. mais je t avoue que j essaie de mettre en application ton idee mais j ai du mal avec la creation de la macro...

te serait il possible d entrer un peu plus dans le detail stp.

Merci

LL
 
D

Dan

Guest
Bonsoir,

Voici un fichier exemple.

Cas 1 : Tu tapes le mot de passe "Admin" et tu vois toutes les feuilles
Cas 2 : Tu taoes le mot de passe "Toto" et tu ne vois que les feuilles 1 & 4

Bon travail

A+

Dan
 

Pièces jointes

  • Password.ZIP
    9.8 KB · Affichages: 90
  • Password.ZIP
    9.8 KB · Affichages: 71
  • Password.ZIP
    9.8 KB · Affichages: 75
L

lionel

Guest
Dan,

Y a quelque chose que je ne comprends pas...
Tout marchait vendredi et la j ai un message d erreur

L erreur vient au niveau de ActiveWindow.SelectedSheets.Visible = False

Mais je ne comprends pas d ou vient l erreur de syntaxe


Ci dessous le code:


Sub Autpen()
ActiveWindow.DisplayWorkbookTabs = False
For Each sh In Sheets
sh.Visible = True
Next sh
Range("A1").Select
Message
End Sub
Sub Message()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Enter your password"
Title = "Password" ' Définit le titre.
Default = "" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)
Select Case MyValue
Case Is = "C3": Mac1
Case Is = "C3 Pluriel": Mac2
Case Is = "Berlingo": Mac3
Case Is = "Citroen": Mac4
Case Is = "Admin": Mac5
Case Else: Wrongpassword
End Select
End Sub
Sub Wrongpassword()
msg = "Wrong password" ' Définit le message.
Style = vbOKOnly + vbInformation ' Définit les boutons.
Title = "Password" ' Définit les titres.
Answer = MsgBox(msg, Style, Title)
ActiveWorkbook.Close SaveChanges:=False
End Sub
Sub Mac1()
'
' Macro2 Macro
' Macro enregistrée le 17/10/03 par Lionel Layerle
'
Sheets(Array("MARK", "Forhandlerbud", "November", "PS", "RH", "RF")).Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.DisplayWorkbookTabs = True
End
End Sub
Sub Mac2()
'
' Macro3 Macro
' Macro enregistrée le 17/10/03 par Lionel Layerle
'
Sheets(Array("MARK", "Forhandlerbud", "November", "HE", "RH", "RF")).Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.DisplayWorkbookTabs = True
End
End Sub
Sub Mac3()
'
' Macro4 Macro
' Macro enregistrée le 17/10/03 par Lionel Layerle
'
Sheets(Array("MARK", "Forhandlerbud", "November", "HE", "PS", "RF")).Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.DisplayWorkbookTabs = True
End
End Sub
Sub Mac4()
'
' Macro5 Macro
' Macro enregistrée le 17/10/03 par Lionel Layerle
'
Sheets(Array("MARK", "Forhandlerbud", "November", "HE", "PS", "RH")).Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.DisplayWorkbookTabs = True
End
End Sub
Sub Mac5()
'
' Macro6 Macro
' Macro enregistrée le 17/10/03 par Lionel Layerle
'
For Each sh In Sheets
sh.Visible = True
Next sh
Range("A1").Select
ActiveWindow.DisplayWorkbookTabs = True
End
End Sub
ActiveWorkbook.Save
End Sub



L erreur vient au niveau de ActiveWindow.SelectedSheets.Visible = False
 
D

Dan

Guest
Bonsoir Lionel,

J'ai beau controler tes macros. Tout semble correct.
Il faut prodéder par étape :

1. Verifie que tu n'as pas changé le nom d'une feuille ou introduit un espace par mégarde. Il faut que les noms de feuille repris dans les macros MAC () correspondent excatement aus noms de feuille (ici MARK,...)
2. Verifie si tu as cette erreur à chaque mot de passe utilisé.
3. Crée une nouvelle macro avec un nouveau mot de passe qui permet l'utilisation de la feuille1, puis de la feuille 2, ...

Fais savoir ce qui se passe

A+

Dan
 

Discussions similaires

A
Réponses
7
Affichages
1 K
arnaud
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…