Microsoft 365 Liste d'employés pour chaque jour de l'année

Sylr

XLDnaute Nouveau
Bonjour à toutes et tous,

J'ai cherché sur le site, les différentes possibilités et je ne trouve pas mon bonheur, peut être une histoire de SEQUENCE () ?
Je souhaiterai utiliser une base de données de 5 employés ou +, pour une année complète, de type calendrier des horaires, congés, Maladies, RTT …).
Dans un calendrier annuel, je souhaiterai faire une liste automatique, pour chaque jour de ces 5 employés, de cette façon :
- lorsque j'atteins la FIN DE LA LISTE des 5 employés je souhaiterai que le jour change (+ 1 jour) et ce, jusque la fin de l'année,
sans VBA s'il vous plaît

En résumé : Lorsque j'atteins la liste des 5 employés pour le lundi 2 janvier, j'ai la possibilité de reprendre la liste des 5 employés pour le mardi 3 janvier ... ETC

D'avance je vous remercie de vos réponses
Cordialement
 

Pièces jointes

  • excel download01.xlsm
    19.8 KB · Affichages: 11

Hasco

XLDnaute Barbatruc
Repose en paix
Bonsoir,

Un exemple avec power query pour l'année 2023 pour tous les jours ouvrables (on pourrait exclure les feriés au besoin ) et pour tous les employés
bien sûr l'année peut être paramétrée et faire un peu ce qu'on veut
Cordialement
 

Pièces jointes

  • Dates_employés.xlsm
    122.5 KB · Affichages: 11

Sylr

XLDnaute Nouveau
Bonsoir,

Un exemple avec power query pour l'année 2023 pour tous les jours ouvrables (on pourrait exclure les feriés au besoin ) et pour tous les employés
bien sûr l'année peut être paramétrée et faire un peu ce qu'on veut
Cordialement
Bonsoir Hasco, re bonsoir Chris,
La solution de Chris fonctionne, effectivement il y a pas mal de formules à recopier pour l'année, ça rame un peu ;-)
Pour votre solution, je ne connais pas Power Query, je suppose que c'est pour ne pas ralentir le procédé, mais je ne distingue pas les formules ... Aussi, je vais me renseigner sur plusieurs tutos ...
Merci beaucoup à vous 2
Bonne soirée
Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Puisque j'ai eu le temps, voici une proposition power query, avec l'année paramétrable et les fériés exclus comme les week-end.

Dans la feuille BD vous trouverez une cellule nommée "Année_Calendrier" qui sert à la requête et un tableau des Feriés de l'année provenant du site gouvernemental "https://calendrier.api.gouv.fr/jours-feries/metropole/2023.json"

Si vous changez l'année dans la cellule nommée Année_Calendrier, il faudra actualiser les requêtes (Données/bouton Actualiser tout) pour recréer le calendrier.

Effectivement il n'y a pas de formule, ce sont des requêtes.
Pour les voir, ouvrez le volet "Requêtes & connexion" dans l'onglet de ruban "Données"
Ensuite vous pourrez faire un click-droit sur l'un des noms apparaissant dans le volet puis "Modifier".



Cordialement
 

Pièces jointes

  • Dates_employés.xlsm
    122.7 KB · Affichages: 10
Dernière édition:

Sylr

XLDnaute Nouveau
Re,

Puisque j'ai eu le temps, voici une proposition power query, avec l'année paramétrable et les fériés exclus comme les week-end.

Dans la feuille BD vous trouverez une cellule nommée "Année_Calendrier" qui sert à la requête et un tableau des Feriés de l'année provenant du site gouvernemental "https://calendrier.api.gouv.fr/jours-feries/metropole/2023.json"

Si vous changez l'année dans la cellule nommée Année_Calendrier, il faudra actualiser les requête (Données/bouton Actualiser tout) pour recréer le calendrier.

Effectivement il n'y a pas de formule, ce sont des requêtes.
Pour les voir, ouvrez le volet "Requêtes & connexion" dans l'onglet de ruban "Données"
Ensuite vous pourrez faire un click-droit sur l'un des noms apparaissant dans le volet puis "Modifier".



Cordialement
Bonjour
je viens de trouver ce message, j'avoue, qu'il va me plonger dans un autre monde...
Tant mieux l'aventure m’intéresse .
Merci encore de l'aide et de la découverte
Bonne journée
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

La nuit portant conseil, voici une version qui je pense sera plus véloce.
Le calendrier des jours ouvrés étant commun à tous les employés il n'est calculé qu'une seule fois au début plutôt qu'a chaque ligne employé.
VB:
let
    Source = Table.FirstValue(Excel.CurrentWorkbook(){[Name="Année_Calendrier"]}[Content]),
    Calendrier = #table({"Date","Sem"},List.Transform(fjJoursOuvrés(Source,Fériés[Date]), each {_,fnNumSemIso(_)})),
    Employés = Excel.CurrentWorkbook(){[Name="T_Employés"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Employés,{{"Code", Int64.Type}, {"Noms", type text}}),
    #"Calendrier ajouté" = Table.AddColumn(#"Type modifié", "Calendrier", each Calendrier, type table[Date=date,Sem=Int32.Type]),
    #"Calendrier développé" = Table.ExpandTableColumn(#"Calendrier ajouté", "Calendrier", {"Date", "Sem"}, {"Date", "Sem"}),
    #"Lignes triées" = Table.Sort(#"Calendrier développé",{{"Date", Order.Ascending}, {"Code", Order.Ascending}}),
    Résultats = Table.SelectColumns(#"Lignes triées",{"Sem", "Date", "Code", "Noms"})
in
    Résultats

N'hésitez pas à revenir nous voir si vous vous sentez bloqué sur ce fichier, mes petits camarades PowerQueristes ou moi-même répondrons bien volontiers à vos interrogations
 

Pièces jointes

  • PQ-Dates_employés v2.xlsm
    120.9 KB · Affichages: 16
Dernière édition:

Sylr

XLDnaute Nouveau
Bonjour,

La nuit portant conseil, voici une version qui je pense sera plus véloce.
Le calendrier des jours ouvrés étant commun à tous les employés il n'est calculé qu'une seule fois au début plutôt qu'a chaque ligne employé.
VB:
let
    Source = Table.FirstValue(Excel.CurrentWorkbook(){[Name="Année_Calendrier"]}[Content]),
    Calendrier = #table({"Date","Sem"},List.Transform(fjJoursOuvrés(Source,Fériés[Date]), each {_,fnNumSemIso(_)})),
    Employés = Excel.CurrentWorkbook(){[Name="T_Employés"]}[Content],
    #"Type modifié" = Table.TransformColumnTypes(Employés,{{"Code", Int64.Type}, {"Noms", type text}}),
    #"Calendrier ajouté" = Table.AddColumn(#"Type modifié", "Calendrier", each Calendrier, type table[Date=date,Sem=Int32.Type]),
    #"Calendrier développé" = Table.ExpandTableColumn(#"Calendrier ajouté", "Calendrier", {"Date", "Sem"}, {"Date", "Sem"}),
    #"Lignes triées" = Table.Sort(#"Calendrier développé",{{"Date", Order.Ascending}, {"Code", Order.Ascending}}),
    Résultats = Table.SelectColumns(#"Lignes triées",{"Sem", "Date", "Code", "Noms"})
in
    Résultats

N'hésitez pas à revenir nous voir si vous vous sentez bloqué sur ce fichier, mes petits camarades PowerQueristes ou moi-même répondrons bien volontiers à vos interrogations
RE ,
Encore merci, Je n'hésiterai pas en effet ....
Cordialement
 

Discussions similaires

Réponses
1
Affichages
77
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 720
Messages
2 081 907
Membres
101 836
dernier inscrit
karmon