MFC complexe avec date

Bonjour,

J'ai besoin d'une aide pour une MFC. Les explications se retrouvent dans le fichier joint. Si l'un d'entre vous peut y jeter un oeil ça serait gentil.

Merci d'avance,

VBABEGINNER

13mfc.xlsx (11.35 Ko)

bonjour,

un essai

4mfc-1.xlsx (20.64 Ko)

Bonjour BsAlv,

C'est déjà super, je ne pensais pas obtenir quelque chose de si abouti ! Merci !!

J'ai encore juste une question, serait-il possible au lieu d'avoir les coordonnées des lignes de période commune, avoir les dates en question. ( Exemple dans le fichier joint) ? Si pas je ferai avec ce que tu m'as fourni c'est déjà très très bien !

Un tout grand merci !

Bonne journée,

Vbabeginner

3mfc-2.xlsx (15.51 Ko)

re,

vous devez encore modifier F1 en "jj/mm/aaaa" ou remplacer ce "$F$1" dans les formules (je n'ai pas une version francophone).

Je pense que les spécialistes des formules 365 savent encore améliorer ma solution avec une(!) formule mais sans tableau structuré.

3mfc-2.xlsx (22.67 Ko)

Bonjour à tous,

Sans mfc, mais avec les dates et PQ

5mfc.xlsx (23.05 Ko)

re,

Pfiou c'est magnifique ! Et bien au-delà de mes compétences ! Merci pour le chef d'oeuvre ! :)

Pour info j'avais commencé à chercher en travaillant sur 2 périodes et j'en étais bien loin... j'étais content d'avoir réussi à lister les jours en commun entre 2 périodes (A1-B2 et A2-B2) avec la formule suivante :

=IF(A1>B2; "rien de commun"; TEXTJOIN(" - "; TRUE; IF((SEQUENCE(B2-A2+1; 1; A2) >= A1) * (SEQUENCE(B2-A2+1; 1; A2) <= B1); TEXT(SEQUENCE(B2-A2+1; 1; A2); "dd/mm/yyyy"); "")))

Merci beaucoup !!! 

Bonne journée,

Vbabeginner

en passant , tu remarqueras que B est sur 2 chantiers en meme temp !

Crdlmt

Bonjour Djidji,

Je n'avais pas pensé une seconde à résoudre cela avec Power query ! Mais ton idée pour former le tableau est super.

Est-ce qu'il est possible d'adapter la query pour que dans le tableau des dates et Agent n'apparaissent que les lignes pour lesquels il y a des périodes en commun ( en gros au moins 2 lettres dans la colonne Agent). Les dates avec un Agent ne pose aucun problème et ne devrait pas apparaitre.

En écrivant je pense peut-être à une solution : filtrer le text qui contient "-" devrait faire le travail, non ?

Merci bien !

Bonne journée,

Vbabeginner

En effet Djidji ... B est sur 2 chantiers en même temps.

Merci !

Rebonjour DjiDji,

J'analysais ta solution et je n'arrive pas à comprendre pourquoi le 14/02 (la première date pour A) n'apparait pas dans ton tableau résultat. Tu peux m'aider ?

Merci.

Bonne journée,

Vbabeginner

re

je n'ai rien vu, mais en retapant, ça fonctionne (pour moi)

5pq-v2.xlsx (22.28 Ko)

Bonsoir à tous !

Une approche Power Query (légèrement différente) :

Y a pas photo !

Je la mets de coté dans mon repertoire PQ

Et on a le meme résultat !

Crdlmt

Bonjour Djidji, JFL

En effet les 2 solutions fonctionnent parfaitement. Merci beaucoup !!

J'ai entièrement compris la tienne DjiDji mais je bute encore sur la deuxième étape de la tienne JFL "ListDates". Je vais creuser cela demain et essayer de comprendre ! En tout cas un très grand merci à vous deux ! Et aussi à BsALv bien entendu !!

Bonne soirée,

Vbabeginner

Re Djidji, JFL,

J'aimerais une petite adapation à la query. Pourriez vous m'aider ?

Pour le tableau final j'aimerais que les lignes soient regroupées en période comme illustré dans le fichier joint.

Est-ce faisable ?

3pq-v3.xlsx (22.74 Ko)

Merci d'avance,

Bonne journée,

Vbabeginner

Bonjour à tous !

Une proposition ?

let
    Source = Excel.CurrentWorkbook(){[Name="tSource"]}[Content],
    ListDates = let
                    TD = Table.TransformColumnTypes(Source,{{"Start date", type date}, {"End date", type date}}), 
                    LD = Table.AddColumn(TD, "Date", each List.Dates([Start date], Duration.Days([End date]-[Start date])+1, Duration.From(1)))
                in Table.ExpandListColumn(LD, "Date"),
    GroupBy = Table.Group(ListDates, {"Date"}, {{"Point considéré", each Text.Combine(List.Sort([Point considéré])," - "), type text}}),
    TypeDate = Table.TransformColumnTypes(GroupBy,{{"Date", type date}}),
    Filtre = Table.SelectRows(TypeDate, each Text.Contains([Point considéré]," - ")),
    Final = Table.Group(Filtre, {"Point considéré"}, {{"Date", each Date.ToText(List.Min([Date])) & " - " & Date.ToText(List.Max([Date])), type nullable text}},0)
in
    Final

Bonjour JFL,

Je ne suis vraiment pas habitué à travailler avec PQ. Peux-tu m'indiquer où incorporer le code ? Suivre les étapes qui découlent du manipulations des menus je m'en sors encore mais là un peu moins :-(

Merci !

Bonjour à tous de nouveau !

Il vous faut copier le code de la requête puis le coller à la place de l'ancienne requête via l'éditeur avancé.

Re,

Ha oui, je vois. Je faisais les manipulations sans jamais consulter le code créé. Mais je confirme que avec la manipulation préconisée ça marche parfaitement !!

Un grand merci.

J'espère ne plus vous déranger sur le sujet !

Bonne journée,

Vbabeginner

Bonjour à tous de nouveau !

Fort bien....

Je vous remercie de ce retour.

Rechercher des sujets similaires à "mfc complexe date"