Limiter l'affichage par utilisateur

  • Initiateur de la discussion Initiateur de la discussion TDKey 71
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

TDKey 71

Guest
Bonjour à tous, premier message 🙂

Je vais essayer d'être clair

Ce que j'ai:
Un fichier excel (d'une page) avec la liste des salariés de mon entreprise, les congés qu'il ont pris dans l'année, les dates correspondantes et le solde de leur congés en jour.

Ce que je voudrais obtenir:
Un fichier excel qui s'ouvre sur un bouton demandant un code de référence (que j'aurais attribué moi même à chaque salarié) et ce code renvoie aux information du salariés lié à ce code mais uniquement ses informations à lui.

Je pensais à une recherche V double critère (nom et prénom) mais comment limiter l'affichage?
Je pensais naïvement à une macro qui recopierais les données du salarié sur une page vierge (le salarié étant limité à cette page en affichage) mais je ne vois pas du tout comment aborder le problème.

Pour info j'ai quelques notions de débutant en macro
Je ne peux pas vraiment donner d'exemple de fichier puisqu'il est confidentiel

La je pense que je vais en coller plus d'un héhé 😉
 
Dernière modification par un modérateur:
Re : Limiter l'affichage par utilisateur

Bonjour, TDKey, OO 😉

[...]
Je ne peux pas vraiment donner d'exemple de fichier puisqu'il est confidentiel

La je pense que je vais en coller plus d'un héhé 😉
Est-il pour vous envisageable de joindre un fichier, reprenant la structure du fichier original (qui, elle, n'est pas confidentielle), avec quelques données non confidentielles (Monsieur Paul Dupont...) mais significatives ?
Cela permettrait aux gentils contributeurs de tester in situ leurs propositions sur votre fichier, sans les obliger à l'imaginer et à le recréer (avec les erreurs inévitables, quelque soit le talent du contributeur et le modèle de sa boule de cristal) 😉
 
Re : Limiter l'affichage par utilisateur

Je vais faire un exemple pour montrer la structure, je le poste dans les minutes qui suivent.

Double Zero j'ai trouvé un exemple de ce que je voulais, c'est l'exemple 4:
Exemple4:Visualise la(les) feuille(s) de l'utilisateur en fonction du mot de passe
A chaque utilisateur, il est attribuéplusieurs feuilles. La feuille Admin contient pour chaque utilisateur la

Mais pas d'explication suffisante pour que je puisse reproduire la chose
 
Re : Limiter l'affichage par utilisateur

Voila le fichier en très grossis

Chaque salarié à une crédit d'heure en fonction si il a travaillé ou non un jour férié, ces heures sont a récupéré
il éxiste un autre crédit d'heure pour le salarié (tout a droite)
 

Pièces jointes

Re : Limiter l'affichage par utilisateur

Bonsoir,

Voir PJ

JB
 

Pièces jointes

Re : Limiter l'affichage par utilisateur

Bonsoir à tous,

Voir le fichier joint avec ces macros dans ThisWorkbook (Alt+F11) :

Code:
Private Sub Workbook_Open()
Dim mdp As String
mdp = InputBox("Entrez votre mot de passe :", "Mot de passe")
With Sheets("Congés")
  If IsError(Application.Match(mdp, .[A:A], 0)) And mdp <> "TDK" Then Exit Sub
  Me.Unprotect "TDK" 'ôte la protection du classeur
  .Unprotect "TDK" 'ôte la protection de la feuille
  .AutoFilterMode = False
  If mdp <> "TDK" Then .[A:A].AutoFilter 1, mdp 'filtre automatique
  .Visible = True 'affiche la feuille
  .Activate
  .Protect "TDK"
  Me.Protect "TDK"
End With
Me.Saved = True
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me.Unprotect "TDK"
With Sheets("Accueil")
  .Unprotect "TDK"
  Application.Goto .[A1], True 'cadrage
  .Protect "TDK"
End With
Sheets("Congés").Visible = xlVeryHidden
Me.Protect "TDK"
Me.Save
End Sub
Les mots de passe Utilisateurs sont TATA TITI TOTO.

Le mot de passe Administrateur est TDK.

Il protège aussi le classeur et la feuille Congés.

Il faudrait compléter en protégeant le VBA avec ce mot de passe...

Nota : aucune importance si l'on n'active pas les macros...

A+
 

Pièces jointes

Re : Limiter l'affichage par utilisateur

Bonjour le fil, le forum,

Si l'on veut que des étoiles s'affichent quand on tape le mot de passe, le plus simple est un UserForm.

Le code de l'UserForm est simple :

Code:
Private Sub TextBox1_Change()
If IsNumeric(Application.Match(TextBox1, Sheets("Congés").[A:A], 0)) _
  Or TextBox1 = "TDK" Then mdp = TextBox1: Unload Me
End Sub
La variable mdp est mémorisée dans Module1 :

Code:
Public mdp As String 'mémorise la variable
Fichier joint.

A+
 

Pièces jointes

Re : Limiter l'affichage par utilisateur

J'ai regardé ce que tu as fait, mais les mot de passe TATA TOTO et TITI ne fonctionnent pas.
Je doit bie nalelr dans Outils>oter la protection et taper le mot de passe?
 
Re : Limiter l'affichage par utilisateur

En fait je pensais (à mon niveau pour que je puisse la reproduire) à une macro qui afficherait automatiquement les données concernant une référence que l'utilisateur entrerais (via fenêtre bouton).

Voila un exemple de ce que devrait (conditionnel) voir le salarié qui recherche ses informations en pièce jointe
 

Pièces jointes

Re : Limiter l'affichage par utilisateur

Re,

J'ai regardé ce que tu as fait, mais les mot de passe TATA TOTO et TITI ne fonctionnent pas.

Je pense que vous n'avez pas dû regarder plus de 30 secondes les fichiers des posts #8 #9 #10 et ce qu'il y a en colonne A.

Non seulement les mots de passe TATA TOTO TITI fonctionnent mais tata toto titi aussi...

Si l'on veut que la casse soit respectée, il faut utiliser la méthode Find avec MatchCase:=True :

Code:
Private Sub TextBox1_Change()
If TextBox1 <> "" And Not Sheets("Congés").[A:A].Find(TextBox1, , xlFormulas, _
  xlWhole, MatchCase:=True) Is Nothing Or TextBox1 = "TDK" Then mdp = TextBox1: Unload Me
End Sub
Fichier (2).

Nous en resterons là si vous le voulez bien, car je n'ai rien compris à votre dernier fichier.

A+
 

Pièces jointes

Re : Limiter l'affichage par utilisateur

Autan pour moi ca ne fonctionnais pas sous 2003, mais sur mon 2010 ca fonctionne et cela me demande le mot de passe de suite.
PRoblème de compatibilité alors

Edit:

Le premier marche déja très bien, félicitation!
Le titi et le toto donne bien des résultats différents
 
Dernière modification par un modérateur:
Re : Limiter l'affichage par utilisateur

J'ai regardé le code en Virtual basique, heureusement tu as mis des explication et ca parait très clair.
Reste que je n'ai pas compris par quel tour de magie tu as relier TATA à tel personne, et TITI à une autre, je n'ai rien vu de tel dans le classeur.

Le fait que le code soit répété devant chaque ligne est un indice.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour