Listes automatisées suivant des critères
Bonjour,
Je vais essayé d'être clair.
Je cherche à automatiser un planning de personnel suivant leurs compétences.
J'ai une tableau avec une liste du personnel et les compétences (postes) qui est complété manuellement.
Et j'ai un tableau planning qui doit être complété via des listes automatisés suivant la compétence.
Je joints le dossier excel avec les détails.
Après plusieurs tentatives avec des fonctions, recherche, si et autres je ne suis pas parvenu à mes fins!
J'espère que vous pourrez m'aider.
Merci
Bonjour. Bienvenue sur le Forum
Comme les mêmes prénoms ressortent plusieurs fois, les listes sont établies en "Nom Prénom"
Les explications sont dans le fichier
Cordialement
Bonsoir,
Fastidieux avec ta configuration ! Je ne suis pas étonné que personne ne s'y était attelé rapidement (j'avoue que j'ai un peu regretté de m'être lancé, mais je n'aime pas m'arrêter au milieu du gué !)
Evidemment avec les fonctions de recherche habituelle, tu ne pouvais pas y arriver. La première chose était de transformer ton tableau de compétences en un tableau de listes par compétences.
C'est fait à côté du précédent : P1:AA21. Les listes sont constituées avec des formules.
Une formule en P2 :
=SIERREUR(INDEX($A$1:$A$21;PETITE.VALEUR(SI(C$2:C$21="oui";LIGNE(C$2:C$21);999);LIGNE(1:1)));"")
se recopie sur l'ensemble du tableau.
Jusque là, rapide ! Pas de raison de ne pas poursuivre !
Alors, étant donné que les noms peuvent changer dans le tableau source, la formule devait donc rester en place. Pas de problème, sauf que dans ces conditions, les lignes sans nom de chaque liste ne sont plus vides mais contiennent "" (c'est une valeur !). En conséquence, dimensionner ensuite des listes de validation avec DECALER excluait l'utilisation de NBVAL. Solution alternative : calculer le nombre de noms par liste.
Avec une formule genre : =SOMMEPROD((P$2:P$21<>"")*1) tirable sur la ligne 1 on avait sur cette ligne le nombre de noms de chaque liste.
Cependant, cela supprimait de l'en-tête l'intitulé de la compétence, ce qui pouvait s'avérer gênant à la consultation. D'où transformation en une formule de conversion en texte :
=nbC&CAR(10)&C1 [en P1]
Ce qui affiche donc le nombre et le libellé de la compétence. Le nbC remplace la formule précédente de calcul indiquée devenue entretemps formule nommée (pour des essais [infructueux] de simplification de la suite, et c'est resté [ce qui te permet de voir , au cas où tu l'ignorais, qu'on peut nommer autre chose que des plages, en l'occurrence des formules]).
Après ça, on avait bien toujours le nombre calculé dans la cellule de la ligne 1, mais pour l'utiliser il fallait l'extraire de la chaîne et le convertir.
La conversion : CNUM(GAUCHE('liste compétences'!$P$1;CHERCHE(CAR(10);'liste compétences'!$P$1)-1))
expression (ici pour le groupe 1) incluse pour fournir le nombre de noms dans la formule de définition dynamique des listes de validation. Le caractère fastidieux provient du fait que chaque nom de liste est à définir individuellement, on peut tout au plus coller des morceaux mais la définition avec DECALER exige un ancrage sur une cellule fixe...
Je ne m'étends pas sur la mise en place des listes de validation, on est sur une pratique classique.
J'espère que ma contribution te sera profitable.
Bonne soirée
Ferrand
@Amadéus
=SOMMEPROD(N(NBCAR('liste compétences'!$Q$2:$Q$50)>0))
Ingénieux ! Salut.
Ferrand
Je commençais à me dire que ce n'était pas possible !!!
Merci en tout cas pour les solutions.
Les groupes 1 et 2 sont en fait des lignes différentes donc pour être plus juste j'ai refais le tableau.
Est-ce qu'il y a un moyen de bloqué un nom dans la liste une fois utilisé?
Je m'explique, si je sélectionne Mathieu de 5h-13h est ce possible de ne plus le voir apparaître dans la case de 13h-21h ?
Le planning correspond à une journée d'activité et cela me permettrais d'évité de sélectionné 2 fois la même personne sur 2 postes différents ou sur 2 créneaux différents.
Je pense avoir un peu saisi tout ça mais c'est encore un peu flou !
Si je comprend bien la formules d'Amadéus sélectionne les prénom en plus par rapport a celle de MFerrand ?
Je vous remercie encore
Je vais essayé de décortiqué tout cela pour bien comprendre.
Bonjour,
Si je me souviens bien de ton tableau, tu as récolté deux solutions assez proches dans leur principe (constitution listes, même type de formule d'extraction avec quelques variantes...) ce qui ne peut qu'élargir tes possibilités...
Il n'est pas impossible de modifier les listes en cours d'utilisation, mais cela me paraît plutôt lourd !
Dans tous les cas on passerait à VBA et il faudrait revoir le système de constitution des listes par formules (que tu peux faire varier automatiquement avec tes "oui") [note bien on le ferait varier autrement...]
Une MFC me semblerait une alerte immédiate suffisante pour éviter de sélectionner deux fois le même. De surcroît, ça te laisse la possibilité de modifier sur le poste sélectionné antérieurement, ce qui ne serait pas le cas si tu ne l'avais pas eu dans la liste pour le 2e poste sélectionné.
Cordialement
Ferrand
Merci !
Je pense que tu as raison ça ne sert a rien d'alourdir le tableau.
En tout cas trés bonne idée est simple a mettre en place la MFC je n'y avais pas pensé a force d'y avoir la tête dedans on voit plus rien.
Merci beaucoup pour les tableaux
Je pense que vous avez répondu parfaitement a mes demandes.
Bonne journée