Microsoft 365 Suivi journées absences

LAETI-TOINOU

XLDnaute Occasionnel
Rebonjour tout le monde,

Ma dernière question du jour.

La communauté m'a beaucoup aidée sur un premier gros fichier.
Un grand merci, surtout merci à Alain.

Sur ce tout petit fichier, plusieurs onglets :

1/ Récap Abs :
Dans lequel il nous faut
- saisir le nom du salarié, le motif de son absence, la date de début et la date de fin et
- calculer la durée (en ne prenant en compte que les jours ouvrés)

2/ Planning :
Onglet dans lequel se reportent toutes les infos de l'onglet Récap Abs, selon un code couleur. Par exemple : CP = JAUNE - RTT = BLEU....
La colonne A : contient une formule pour retrouver le service (peut-être existe-t'il une formule plus appropriée que celle que j'ai trouvée via toutes les discussions que je parcours)
La colonne B : une liste déroulante du nom des salariés

Le tout sans VBA, car je ne sais pas du tout utiliser ces fonctionnalités.

Avant de venir poster ma demande, j'ai beaucoup navigué sur les sujets similaires.

Merci de votre aide.

Bonne fin de journée.


Laëtitia
 

Pièces jointes

  • Suivi journees Absences.xlsx
    82.6 KB · Affichages: 50

LAETI-TOINOU

XLDnaute Occasionnel
Bonsoir Laëtitia, bonsoir Job75

Je crois que tu n'as pas bien compris, il s'agit de la formule de la MFC (mise en forme conditionnelle). Et hiérarchisées parce qu'elles s'appliquent dans un ordre de priorité que tu peux modifier (avec un arrêt possible).
Par exemple veux-tu donner la priorité aux jours fériés (en rouge) ou au jours de week-end (en ???) ? Tu positionnes les 2 règles à ton choix en mettant en premier celle qui a la priorité.

Fait des essais Onglet Accueil, Mise en forme conditionnelle, Gérer les règles, nouvelle règle, utiliser une formule...

Amicalement
Alain
Bonjour Alain, bonjour tout le monde,

Merci pour cette précision. Je comprends mieux la notion de hiérarchie.

Bonne journée.


Laëtitia
 

LAETI-TOINOU

XLDnaute Occasionnel
Bonsoir Laëtitia, bonsoir Job75

Je crois que tu n'as pas bien compris, il s'agit de la formule de la MFC (mise en forme conditionnelle). Et hiérarchisées parce qu'elles s'appliquent dans un ordre de priorité que tu peux modifier (avec un arrêt possible).
Par exemple veux-tu donner la priorité aux jours fériés (en rouge) ou au jours de week-end (en ???) ? Tu positionnes les 2 règles à ton choix en mettant en premier celle qui a la priorité.

Fait des essais Onglet Accueil, Mise en forme conditionnelle, Gérer les règles, nouvelle règle, utiliser une formule...

Amicalement
Alain
Rebonjour,

1/ J'ai essayé de modifier les MFC selon le motif d'absence, mais ça ne fonctionne pas avec FORMATION. Je ne comprends pas pourquoi.

2/ Dans le tableau T de l'onglet Personnel, comment calculer l'absence,
si l'absence ne dure qu'une journée ? Faut-il ajouter une condition avec la colonne FIN ?
Même question si l'absence ne dure qu'une demie-journée, comment faire la formule ?
Ca dépasse de loin mes compétences.

Merci d'avance pour votre retour.

Laëtitia
 

job75

XLDnaute Barbatruc
Sur le fichier précédent je constate chez moi que si l'on efface "FORMATION" en E6 (2ème feuille) la MFC correspondante (mauve) en 1ère feuille ne s'efface pas.

J'avoue ne pas comprendre pourquoi.

Pour mettre à jour la MFC il faut valider une cellule de la plage C6:AG30.

Ou mieux, rendre les formules des MFC volatiles comme dans ce fichier (3) en introduisant ALEA() :
VB:
=ENT(ALEA())+SOMMEPROD((INDEX(T;;1)=$B6)*(INDEX(T;;2)="CP")*(C$5>=INDEX(T;;3))*(C$5<=INDEX(T;;4)))
A+
 

Pièces jointes

  • Suivi journees Absences(3).xlsx
    85.2 KB · Affichages: 13

LAETI-TOINOU

XLDnaute Occasionnel
Sur le fichier précédent je constate chez moi que si l'on efface "FORMATION" en E6 (2ème feuille) la MFC correspondante (mauve) en 1ère feuille ne s'efface pas.

J'avoue ne pas comprendre pourquoi.

Pour mettre à jour la MFC il faut valider une cellule de la plage C6:AG30.

Ou mieux, rendre les formules des MFC volatiles comme dans ce fichier (3) en introduisant ALEA() :
VB:
=ENT(ALEA())+SOMMEPROD((INDEX(T;;1)=$B6)*(INDEX(T;;2)="CP")*(C$5>=INDEX(T;;3))*(C$5<=INDEX(T;;4)))
A+
Bonsoir Job75,

Merci pour ces infos.

Peut-on m'expliquer :
- ce qu'est une MFC volatile
- le contenu des formules appliquées avec SOMMEPROD. Ca me permet ensuite de les comprendre et d'essayer de les reproduire sur d'autre documents

Peut-on m'aider sur la formule de durée d'absence,
- lorsqu'il n'y a qu'une seule journée
- lorsqu'il y a un 1/2 RTT.

Merci d'avance.

Bonne soirée à tous.
 

job75

XLDnaute Barbatruc
Une MFC ou formule volatile contient une fonction volatile comme ALEA(), DECALER(), AUJOURDHUI(), etc...

Faites une recherche sur le web sur les fonctions volatiles.

Pour le calcul de la durée voyez les formules en colonne H de la 2ème feuille.
 

AtTheOne

XLDnaute Accro
Supporter XLD
Bonjour Laëtitia (@LAETI-TOINOU)

Je reviens sur ce fil car je ne sais pas s'il est clos.

Pour les absences ne dépassant pas 1 journée mettre date de fin = date de début

Le problème que vous aviez avec les MFC sur FORMATION venait d'un espace en fin de mot dans la table, espace supprimé, plus de problème.

Je t'ai fait un mémo sur les MFC recommandées par Job75 (il est aussi dans le classeur joint) :
1643557260948.png

1643557053592.png


A bientôt
Amicalement
Alain
 

Pièces jointes

  • Suivi journees Absences Admin.xlsx
    86.2 KB · Affichages: 19

LAETI-TOINOU

XLDnaute Occasionnel
Rererebonjour Alain,

Tes tutos sont toujours impeccables. Il me permette (et bien évidemment aux autres utilisateurs moins expérimentés que toi) de comprendre les formules utilisées (quelles formules, et à quoi elles correspondent).

Par contre, dans l'onglet PERSONNEL, lorsqu'il y a un RTT AM ou un RTT PM, la durée ne doit pas être =1, mais =0.5.

Comment faut-il modifier la formule de calcul ?



Laëtitia
 

AtTheOne

XLDnaute Accro
Supporter XLD
Re-Euh ! tout le monde

C'est juste un petit oubli d'un paramètre dans la fonction RECHERCHEV : il faut spécifier qu'on ne veut pas d'une correspondance approchée (choix par défaut) en ajoutant FAUX après le N° de la colonne à renvoyer.
=SI.NON.DISP(
NB.JOURS.OUVRES.INTL([@DEBUT];[@FIN];;Feries)*RECHERCHEV([@[MOTIF ABSENCE]];_Tb_Motifs;2);"")
devient
=SI.NON.DISP(
NB.JOURS.OUVRES.INTL([@DEBUT];[@FIN];;Feries)*RECHERCHEV([@[MOTIF ABSENCE]];_Tb_Motifs;2;FAUX);"")
Amicalement
Alain
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 139
Membres
112 669
dernier inscrit
Guigui2502