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

  • Initiateur de la discussion Initiateur de la discussion Sylr
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

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
 
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

Dernière édition:
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
 
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

Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
412
Réponses
4
Affichages
243
Réponses
4
Affichages
772
Réponses
4
Affichages
518
Retour