XL 2019 Tableau de bord pour 6 personnes

Muhadini

XLDnaute Junior
Bonjour à vous codeur :)

J'espère que vous allez bien. Pour notre association d'insertion socio professionnelle, j'aurais besoin de votre aide !

On a toujours besoin de noter des tâches à faire pour l'équipe encadrante. J'ai imaginé un fichier, mais je voudrais savoir si c'est possible de créer un VBA, pour afficher seulement les chose (les lignes) qui concerne la personne en question. Genre comme un Login.

Madame X se connecte et vois que les lignes X qui on été rajouté par un administrateur, pour qu'elle puisse faire les tâches.

Il y a une fonction quand la ligne passe sur terminé, elle s'enlève automatiquement ! Mais, une DB en arrière plan n'est pas à exclure pour retrouver les choses terminé.

En annexe, vous trouverez une copie du fichier en question... J'espère vraiment trouver une solution avec votre aide.

Merci d'avance :) !
 

Pièces jointes

  • Tableau de bord.xlsm
    40.7 KB · Affichages: 24
Dernière édition:
Solution
Bonsoir Muhadini, bonsoir le forum,

Belle galère ! Mais au bout une proposition...
Dans la version 02 du fichier en pièce jointe, à l'ouverture on te demande le nom de l'utilisateur. Après validation via le bouton OK, seul l'onglet de l'utilisateur est accessible.
Sauf pour l'administrateur qui en choisissant Admin devra taper un mot de passe (pour l'instant toto, tu changeras si nécessaire) pour avoir accès à tous les onglets. Comme tu verras, chaque utilisateur a son propre onglet et c'est dans ces onglets là que l'administrateur devra ajouter, modifier ou supprimer une tâche. L'onglet Home ne joue plus qu'un rôle de consultation, il ne sert plus à la gestion des tâches. Le bouton...

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Muhadini, bonsoir le forum,

En pièce jointe ton fichier modifié avec une UserForm.
le code • THisWorkbook :

VB:
Private Sub Workbook_Open()
Worksheets("Feuil1").Activate 'active l'onglet "Feuil1"
UserForm1.Show 'affiche l'UserForm1
End Sub
le code • UserForm1 :
Code:
Option Explicit
Private O As Worksheet 'déclare la variable O (Onglet)
Private TS As ListObject 'déclare la variable TS (Tablkeau Structuré)

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Set O = Worksheets("Home") 'définit l'onglet O
Set TS = O.ListObjects(1) 'définit le tableau structuré TS
Me.ComboBox1.List = Application.Transpose(O.Range("P11:P16")) 'alimente la ComboBox1
End Sub

Private Sub ComboBox1_Change() 'au changement dans la ComboBox1
With Me.ComboBox1 'prend en compte la ComboBox1
    If .ListIndex = -1 Then 'condition : si le nom n'appartient pas à sa liste
        TS.Range.AutoFilter 3, "" 'filtre les cellule vides en colonne 3
    Else 'sinon
        TS.Range.AutoFilter 3, .Value 'filtre avec le nom choisi ou tapé en colonne 3
    End If 'fin de la condition
End With 'fin de la prise en compte de la ComboBox1
TS.Range.AutoFilter 6, "<>Terminée" 'filtre avec les cellules différente de "Terminée" en colonne 6
O.Activate 'ative l'onglet O
Unload Me 'vide et ferme l'UserForm en cours
End Sub

On est bien d'accord que ce système sera très aisément contournable par quelqu'un qui s'y connait un tant soit peu en Excel...
 

Pièces jointes

  • Muhadini_ED_V01.xlsm
    50.5 KB · Affichages: 21

Muhadini

XLDnaute Junior
Bonsoir Muhadini, bonsoir le forum,

En pièce jointe ton fichier modifié avec une UserForm.
le code • THisWorkbook :

VB:
Private Sub Workbook_Open()
Worksheets("Feuil1").Activate 'active l'onglet "Feuil1"
UserForm1.Show 'affiche l'UserForm1
End Sub
le code • UserForm1 :
Code:
Option Explicit
Private O As Worksheet 'déclare la variable O (Onglet)
Private TS As ListObject 'déclare la variable TS (Tablkeau Structuré)

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Set O = Worksheets("Home") 'définit l'onglet O
Set TS = O.ListObjects(1) 'définit le tableau structuré TS
Me.ComboBox1.List = Application.Transpose(O.Range("P11:P16")) 'alimente la ComboBox1
End Sub

Private Sub ComboBox1_Change() 'au changement dans la ComboBox1
With Me.ComboBox1 'prend en compte la ComboBox1
    If .ListIndex = -1 Then 'condition : si le nom n'appartient pas à sa liste
        TS.Range.AutoFilter 3, "" 'filtre les cellule vides en colonne 3
    Else 'sinon
        TS.Range.AutoFilter 3, .Value 'filtre avec le nom choisi ou tapé en colonne 3
    End If 'fin de la condition
End With 'fin de la prise en compte de la ComboBox1
TS.Range.AutoFilter 6, "<>Terminée" 'filtre avec les cellules différente de "Terminée" en colonne 6
O.Activate 'ative l'onglet O
Unload Me 'vide et ferme l'UserForm en cours
End Sub

On est bien d'accord que ce système sera très aisément contournable par quelqu'un qui s'y connait un tant soit peu en Excel...
Bonjour Robert,

Tout d'abord un grand merci à vous de vouloir m'aider :) !

J'ai ouvert le fichier que vous avez mis en annexe, mais une erreur s'affiche dès le début.

Robert pour être honnête avec vous, nous sommes tous très nul ;)

1643183929751.png
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Muhadini, bonjour le forum,

Je suis désolé mais chez moi ça fonctionne sans problème. En revanche, si vous avez copié le code sur votre propre fichier et que vous n'avez pas rajouter onglet vierge nommé Feuil1. Il est normal que ça ne fonctionne pas puisqu'à l'ouverture le code demande d'activer cet onglet...
 

Muhadini

XLDnaute Junior
C'est tout bon... Non, non c'est votre fichier que j'utilise, mais maintenant, il ne me met plus l'erreur...

Je viens de faire un test et j'ai deux choses :

  1. Quand je met sur terminée, la ligne elle ne s'efface pas
  2. Si, je veux supprimer un utilisateur ou le changer, comment je dois faire ?
  3. Sur l'utilisateur Gaby, les mises en forme y sont (voir image), mais sur les autres utilisateurs ils n'y sont pas... Comment je dois faire ?
Merci beaucoup pour ton retour :) !


1643191808100.png
 

Robert

XLDnaute Barbatruc
Repose en paix
Re,

1. Ben je ne sais pas... C'est ton fichier, pas le mien... Chez moi ça fonctionne si je clique sur terminée la ligne disparaît...
2. La liste se trouve dans la plage P11:p16 de l'onglet Home.
3. Je vois les mises en forme sur toutes les lignes quand je supprime les filtres. Je ne sais pas quoi te dire...

Je pense que tu as récupérer ce fichier qui n'est pas de toi et que tu voudrais qu'on te le mette à ta sauce... C'est faisable mais il faudrait que tu sois beaucoup plus précise dans tes demandes.
 

Muhadini

XLDnaute Junior
Re,

1. Ben je ne sais pas... C'est ton fichier, pas le mien... Chez moi ça fonctionne si je clique sur terminée la ligne disparaît...
2. La liste se trouve dans la plage P11:p16 de l'onglet Home.
3. Je vois les mises en forme sur toutes les lignes quand je supprime les filtres. Je ne sais pas quoi te dire...

Je pense que tu as récupérer ce fichier qui n'est pas de toi et que tu voudrais qu'on te le mette à ta sauce... C'est faisable mais il faudrait que tu sois beaucoup plus précise dans tes demandes.

Je te jure qu'il y a un bug sur les lignes... regarde le GIF. Le fichier n'est pas à mettre à ma sauce, ce qu tu as créer me vas très bien et je t'en remercie. Mais, les lignes déconne ou peut être moi !
Regarde quand je veux écrire qqch les lignes descende automatiquement et rien ne s'affiche ! Je suis sur Gaby là...

Quand je clique sur rajouter une ligne, le truc il remonte mais la ligne de mon tableau ne se crée pas...

1643237306812.gif
 
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Le problème vient du fait que le filtre n'affiche que les lignes de l'utilisateur et quand tu rajoutes un projet en colonne E comme le nom n'a pas encore été renseigné en colonne G, la ligne disparaît...

Est-ce que seul l'administrateur peut rajouter/supprimer ou modifier des tâches et dans ce cas les utilisateurs ne peuvent que les consulter ou, les utilisateurs peuvent aussi éditer des tâches ? En fonction de ta réponse j'adapterai le fichier...
 

Muhadini

XLDnaute Junior
Bonsoir,

Le problème vient du fait que le filtre n'affiche que les lignes de l'utilisateur et quand tu rajoutes un projet en colonne E comme le nom n'a pas encore été renseigné en colonne G, la ligne disparaît...

Est-ce que seul l'administrateur peut rajouter/supprimer ou modifier des tâches et dans ce cas les utilisateurs ne peuvent que les consulter ou, les utilisateurs peuvent aussi éditer des tâches ? En fonction de ta réponse j'adapterai le fichier...

Bonsoir Robert,

Merci pour ta réponse. Non, les tâches on se les rajoutes entre nous. Les utilisateurs peuvent aussi éditer les tâches.

Moi, ce qui m'importe et ce qui est le plus important c'est que chacun vois ses propres tâches et non ceux des autres !

PS : P11:p16 ? Faut que tu m'expliques autrement 😂
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Muhadini, bonsoir le forum,

Belle galère ! Mais au bout une proposition...
Dans la version 02 du fichier en pièce jointe, à l'ouverture on te demande le nom de l'utilisateur. Après validation via le bouton OK, seul l'onglet de l'utilisateur est accessible.
Sauf pour l'administrateur qui en choisissant Admin devra taper un mot de passe (pour l'instant toto, tu changeras si nécessaire) pour avoir accès à tous les onglets. Comme tu verras, chaque utilisateur a son propre onglet et c'est dans ces onglets là que l'administrateur devra ajouter, modifier ou supprimer une tâche. L'onglet Home ne joue plus qu'un rôle de consultation, il ne sert plus à la gestion des tâches. Le bouton Récup de cet onglet permet de faire une mise à jours de toutes les données de tous les utilisateurs.
Autre nouveauté, l'onglet Terminées récupère toutes les lignes notées comme Terminée. Ce n'est plus un filtre mais un déplacement.
Pour Finir, pour ajouter un utilisateur, il suffit de taper un nouveau nom d'utilisateur au début (doublons interdits). Après validation, il figurera dans la liste les prochaines fois et un onglet à son nom est créé.
Code commenté...
 

Pièces jointes

  • Muhadini_ED_V02.xlsm
    177 KB · Affichages: 20

Discussions similaires

Réponses
2
Affichages
252

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo