Requête (à l'envers)?

  • Initiateur de la discussion Zaberlibobed
  • Date de début
Z

Zaberlibobed

Guest
Salut à toi Ô FORUM,

Voici le cadeau!

J'ai des inscriptions en formations à plannifier,
une population de 60 à 200 personnes et
ne souhaite pas inscrire les gens à des formations qu'ils/elles ont déjà suivi J'ai besoin de connaître mes besoins sur certaines formation.
Je connais leur passés en formation

Ma requete (à l'envers) consiste à repondre à la question:

Qui reste t'il à former à 01GUES20 (la valeur de cette cellule provient d'une liste déroulante)

N° Référence N° matricule
de la candidat
Formation

01GUES01 114771
01GUES20 64125
01GU5820 64125
01GUES20 64125
01huES20 64125
01GUES20 2525
01GUES20 64198
01GUES20 64125
052UES20 32125
01GUES20 64125
01GUES20 64125
01GUES20 35096

D'avance un trés grand merci au temps et interêt que vous apporterez à votre réponse quelqu'en soit le resultat.
 

Pièces jointes

  • BKF.xls
    39 KB · Affichages: 57
C

Celeda

Guest
Bonsoir,

Je te prie de bien vouloir m'excuser mais j'ai quelques interrrogations et héistations.

SI : dans tes colonnes A et B sont inscrits les gens qui doivent subir une formation, tu fais un filtre qui te permettra de savoir par formation qui sont les candidats restants.
Tu peux même faire un petit, mais tout petit TCD qui te donnera la liste par type de formation (je te l'envoie le fichier dans ton email en raison des problèmes de surcharge actuelle).(mais tu peux faire le même récapitulatif par formules ou par macro - Le Tcd n'est qu'un exemple).

ET SI cela ne correspond pas à ta requête, j'en suis désolée et alors là il faudra un peu plus de clareté.


Bonne soirée
Celeda
 
M

Monique

Guest
Bonsoir,

On peut le faire avec formules.

Insérer une colonne entre A et B pour dénombrer les candidats.
C'est la colonne B
En B3 =SI(ET(ESTTEXTE(A3);A3<>$H$2);MAX(B$2:B2)+1;"")
Copier coller B3 vers le bas

Colonne devenue E : on y reporte les numéros de la colonne B
En E3 =SI(OU(E2="";MAX($B$3:$B$200)=E2);"";SI(MIN($B$3:$B$200)>0;MIN($B$3:$B$200)+MAX(E$2:E2);""))
Copier coller E3 vers le bas

Colonne devenue F : les matricules
En F3 =SI(ESTNUM(E3);RECHERCHEV(E3;$B$3:$C$200;2);"")
Copier coller F3 vers le bas
 
C

Celeda

Guest
Bonsoir,

Et Madame Monique : super ton truc....., je ne connaissais pas, j'ai essayé et j'ai pratiqué, et c'est vraiment pas mal du tout. Nous obtenons les mêmes résultats d'une autre manière trés interessante et en plus si :
on cache les colonnes ou si on les met ailleurs, le tour est joué! Et de surcroit, pour les gens qui ne manipulent pas les TCD, c'est la panacée.


Zaberlibobed, je t'envoie le fichier avec la variante qui accompagne.

Merci madame - à conserver dans la database.

Bonne semaine
Celeda
 
Z

Zaberlibobed

Guest
Bonjour à tous,

C'est la premiere fois que je fais un appel à un forum.
La vitesse de réaction et le pointu des réponses sont IMPRESSIONNANTS.

Tu as raison celeda je voulais être concis et finalement j'ai manqué de clarté.

Merci en tous les cas à Madame Monique et à toi pour vos réponses.

Je n'ai pas encore compris toute ta formule Madame Monique, mais en effet le coté pour ceux qui ne manipulent pas les TCD (comme moi...) est bien séduisant.

Quoi qu'il en soit ça ne marche pas:

Soit j'm'ai gourré en adaptant la formule
Soit je vous ai induit en erreur car dans la liste fournit auncun candidat n'avait fait 2 formations différentes. Si le cas se présente, son matricule apparaît dans la nouvelle liste de "Qui reste t'il à former?" alors qu'il a déjà suivit la formation.

Je joint un fichier zipé plus fournis avec des libelles de formations et des prénoms pour simplifier le controle.

Ma requête à l'envers est: Qui n'a pas suivi cette formation?

Donc qui de la colone C n'as pas son corolaire dans la colone A désigné dans la cellule H2.

Encore un grand merci d'avance pour votre brillante aide

ZABERLIBOBED
 

Pièces jointes

  • BKF2.zip
    21.8 KB · Affichages: 28
M

Monique

Guest
Bonsoir, Zaberlibobed

J'ai comme l'impression que j'avais tout compris à l'envers.
Eh bien, dans ce sens-ci, c'est pas mal.
On peut s'en sortir avec, dans la même formule,
du conditionnel, du matriciel, de l'index équiv concaténé et de la recherchev.
Je t'envoie directement le fichier.

Pour résumer, en B3 :
=SI(ET(ESTERREUR(INDEX($A$3:$A$210;EQUIV($H$2&C3;$A$3:$A$210&$C$3:$C$210;0)));ESTTEXTE(A3);ESTERREUR(RECHERCHEV(C3;C$2:C2;1;0)));MAX(B$2:B2)+1;"")
 
Z

Zaberlibobed

Guest
Bonsoir MADAME Monique,

Mille merci c'est du grand ART, geniale ...
En plus avec tes explications sur le fichier c'est du petit lait.

LONGUE VIE AU FORUM !!

Bon maintenant je vais me coucher en esperant que demain je retrouverai mon cerveau à l'endroit!
Bye
 

Statistiques des forums

Discussions
312 177
Messages
2 085 974
Membres
103 076
dernier inscrit
LoneWolf90