XL 2016 Planning de Congés Suite

telemarrk

XLDnaute Occasionnel
Bonsoir,

Actuellement, je suis en train de créer un document Excel pour gérer les demandes de congé au sein de ma collectivité., j'ai presque terminé.

Goude, Riton00 m'ont aidé pour la rélisation de l'onglet "Planning" en y intégrant les types de congés "C, ARTT, REL-C..." provenant de l'onglet fiche.

Désormais, je souhaite également inclure les absences qui se trouvent dans l'onglet "ASA".

Mais je n'y arrive pas, excel me met un message d'erreur à chaque fois j'ai essayé également avec & mais cela ne fonctionne pas

Merci
 
Solution
Bon en fait pour toutes les absences spéciales on peut mettre une seule abréviation "ASA".

Voyez donc la feuille "Planning" et cette formule matricielle en B14 à propager sur B14:AF19 :
Code:
=SI(ET(JOURSEM(B$13;2)<6;NB.SI(ferie;B$13)=0);SIERREUR(INDEX(Saisi[abrev];EQUIV($A14;SI((B$13>=Saisi[Date
de Début])*(B$13<=Saisi[Date
de Fin])*(Saisi[Validation
Chef de Service]="Accepté");Saisi[Agents]);0));"")&REPT("ASA";SOMMEPROD((Saisi14[Agents]=$A14)*(B$13>=Saisi14[Date
de Début])*(B$13<=Saisi14[Date
de Fin]);(Saisi14[Validation
Chef de Service]="Accepté")*(Saisi14[Validation
RH]="Accepté"))>0);"")
J'ai ajouté la couleur verte pour la MFC.

job75

XLDnaute Barbatruc
Bonjour telemarrk, djidji59430, le forum,

Plusieurs remarques :

1) Si dans la feuille "Fiche" on remplace "Accepté" par "Refusé" ça ne change rien dans la feuille "Planning", ça ne paraît pas normal.

2) Les noms définis dans la feuille "ASA" font double emploi avec ceux définis dans le classeur, on peut a priori les supprimer.

3) Dans la feuille "parametres" il faudrait compléter le Tableau2 avec les abréviations relatives à la feuille "ASA".

A+
 

telemarrk

XLDnaute Occasionnel
Bonjour job75,

1) Observation est très pertinente, j'avais omis le mot "Accepté", c'est une mention importante pour que cette information apparaisse dans notre feuille de planning.

2) Pourquoi ?

3) Cela ne m'était pas venu à l'esprit auparavant.

Merci
 

job75

XLDnaute Barbatruc
Bon en fait pour toutes les absences spéciales on peut mettre une seule abréviation "ASA".

Voyez donc la feuille "Planning" et cette formule matricielle en B14 à propager sur B14:AF19 :
Code:
=SI(ET(JOURSEM(B$13;2)<6;NB.SI(ferie;B$13)=0);SIERREUR(INDEX(Saisi[abrev];EQUIV($A14;SI((B$13>=Saisi[Date
de Début])*(B$13<=Saisi[Date
de Fin])*(Saisi[Validation
Chef de Service]="Accepté");Saisi[Agents]);0));"")&REPT("ASA";SOMMEPROD((Saisi14[Agents]=$A14)*(B$13>=Saisi14[Date
de Début])*(B$13<=Saisi14[Date
de Fin]);(Saisi14[Validation
Chef de Service]="Accepté")*(Saisi14[Validation
RH]="Accepté"))>0);"")
J'ai ajouté la couleur verte pour la MFC.
 

Pièces jointes

  • test.xlsm
    86 KB · Affichages: 10

telemarrk

XLDnaute Occasionnel
job75,

Bonne idée de mettre "ASA" pour toutes les formes d'absences afin de simplifier la gestion et la compréhension.

Deux petites questions :

La première, si je souhaite ajouter deux nouveaux noms, je vais devoir étendre la formule matricielle AF19 en AF21 pour l'adapter à ces nouvelles entrées.

Seconde question pourquoi dans la formule il y a REPT

Encore merci
 

job75

XLDnaute Barbatruc
Bon soyons logiques et remplaçons le 1er SI de la formule par REPT :
Code:
=REPT(SIERREUR(INDEX(Saisi[abrev];EQUIV($A14;SI((B$13>=Saisi[Date
de Début])*(B$13<=Saisi[Date
de Fin])*(Saisi[Validation
Chef de Service]="Accepté");Saisi[Agents]);0));"")&REPT("ASA";SOMMEPROD((Saisi14[Agents]=$A14)*(B$13>=Saisi14[Date
de Début])*(B$13<=Saisi14[Date
de Fin]);(Saisi14[Validation
Chef de Service]="Accepté")*(Saisi14[Validation
RH]="Accepté"))>0);ET(JOURSEM(B$13;2)<6;NB.SI(ferie;B$13)=0))
 

Pièces jointes

  • test(1).xlsm
    85.5 KB · Affichages: 11

job75

XLDnaute Barbatruc
J'aurais une dernière requête, peut-on mettre à part les intitulés "Formations (F), Conours/Examen (CE) et Réunion Syndicat (RS) en dehors de ASA
Il faut alors utiliser la même méthode pour la feuille "ASA" que pour la feuille "Fiche".

Formule matricielle en Planning!B14 :
Code:
=REPT(SIERREUR(INDEX(Saisi[abrev];EQUIV($A14;SI((B$13>=Saisi[Date
de Début])*(B$13<=Saisi[Date
de Fin])*(Saisi[Validation
Chef de Service]="Accepté");Saisi[Agents]);0));"")&SIERREUR(INDEX(Saisi14[Abrev];EQUIV($A14;SI((B$13>=Saisi14[Date
de Début])*(B$13<=Saisi14[Date
de Fin])*(Saisi14[Validation
Chef de Service]="Accepté")*(Saisi14[Validation
RH]="Accepté");Saisi14[Agents]);0));"");ET(JOURSEM(B$13;2)<6;NB.SI(ferie;B$13)=0))
Formule en ASA!F13 :
Code:
=SIERREUR(RECHERCHEV([@[Type
d''absence]];Tableau5;2;0);"")
En feuille "parametres" une colonne a été ajoutée au Tableau5.
 

Pièces jointes

  • test(2).xlsm
    86.1 KB · Affichages: 4

job75

XLDnaute Barbatruc
Pendant que j'y suis j'ai enlevé les derniers SI dans la formule en Planning!B14 :
Code:
=REPT(SIERREUR(INDEX(Saisi[abrev];EQUIV(1;(Saisi[Agents]=$A14)*(B$13>=Saisi[Date
de Début])*(B$13<=Saisi[Date
de Fin])*(Saisi[Validation
Chef de Service]="Accepté");0));"")&SIERREUR(INDEX(Saisi14[Abrev];EQUIV(1;(Saisi14[Agents]=$A14)*(B$13>=Saisi14[Date
de Début])*(B$13<=Saisi14[Date
de Fin])*(Saisi14[Validation
Chef de Service]="Accepté")*(Saisi14[Validation
RH]="Accepté");0));"");ET(JOURSEM(B$13;2)<6;NB.SI(ferie;B$13)=0))
Elle pèse quelques octets de moins (12) que précédemment.

Edit
: dans la 2ème partie de la formule j'avais mis par erreur EQUIV(1;(Saisi[Agents]=$A14)

au lieu de EQUIV(1;(Saisi14[Agents]=$A14), c'est corrigé.
 

Pièces jointes

  • test(3).xlsm
    86.3 KB · Affichages: 22
Dernière édition:

Statistiques des forums

Discussions
313 287
Messages
2 096 836
Membres
106 758
dernier inscrit
JM9