Formule calcul de dossier en cours à la fin de chaque mois

Bonjour à tous,

Dans le cadres de mes activités pro, je réalise le suivi des CAPA de l'entreprise et je souhaiterais suivre "l'en cours" au fil des mois. Concrètement j'ai besoin d'une formule qui puisse me compter toutes les CAPA ouvertes en fev 2025 ou avant mais non clôturée au 28 fev 2025 par exemple. Et ainsi de suite pour chaque mois.

N° ACAPDate d'approbationStatut CAPADate clôture ACAP
ACAP-24-00105/01/2024Open(vide)
ACAP-24-00215/01/2024Close20/02/2024
ACAP-24-00310/02/2024Open(vide)
ACAP-24-00428/03/2024Open(vide)
MoisNombre de CAPA non traitées
Janvier1 (seule ACAP-24-001 est encore ouverte)
Février1 (ACAP-24-003)
Mars1 (ACAP-24-004)

Je vous joints mon fichier excel. Merci pour votre aide :)

18formule-capa.xlsx (98.32 Ko)

Bonjour

2501 n'est pas une version d'Excel mais une révision pouvant s'appliquer à plusieurs versions.

Merci de vérifier et modifier ton profil en indiquant 2019, 2021, 2024, 365...

Il faut utiliser un tableau structuré et un TCD. Mais tu es des numéros en double : on ne sait si on doit les compter 1 seule ou autant de fois que cités...

Par ailleurs la date d'ouverure correspond à quoi ? La date d'approbation ? Certaines n'ont pas de date d'approbation ou ont NA... dans les deux cas cela complique le comptage d'autant que ACAP-24-001 a bien une date de clôture contrairement à ce que tu indiques...

Bonjour,

Ci-joint une proposition via formule. Entrez l'année de tri dans la case orange (F1).

La formule utilisée :

=LET(annee;F1;
listMois;SEQUENCE(12);
REDUCE(ASSEMB.H("Mois";"Nb dossiers ouverts";"liste");listMois;LAMBDA(acc;moisC;ASSEMB.V(acc;
LET(dateI;DATE(annee;moisC;1);dateF;MOIS.DECALER(dateI;1)-1;
filt;FILTRE(Table2[N° ACAP];(Table2[Date d''approbation]>=dateI)*(Table2[Date d''approbation]<=dateF)*ESTVIDE(Table2[Date clôture ACAP]);"");
ASSEMB.H(TEXTE(dateI;"mmmm");SI(@filt="";ASSEMB.H(0;"");ASSEMB.H(NBVAL(filt);JOINDRE.TEXTE(", ";VRAI;filt))))
)))))
16formule-capa.xlsx (21.64 Ko)

Edit : je rebondis sur le message de @chris, j'ai supposé que vous aviez la dernière version d'Excel. Autrement le TCD est certainement une excellente alternative à laquelle je n'avais pas pensé...

RE

Ci-joint une proposition via formule. Entrez l'année de tri dans la case orange (F1).

Edit : je rebondis sur le message de @chris, j'ai supposé que vous aviez la dernière version d'Excel. Autrement le TCD est certainement une excellente alternative à laquelle je n'avais pas pensé...

Belle formule !

Certaines fonctions sont dispos sur 2021, d'autres sur 2024 mais pas toutes il semble (pas très bien documenté 2024), ce qui impliquerait 365

Si on doit faire abstraction des NA et vides, il faut au préalable filtrer via PowerQuery pour pouvoir faire un TCD (ou faire une liste comme celle de la formule)

Bonjour à tous !

Une approche via Power Query, sur la base d'un tableau structuré (tCapa) :

let
    Source = Excel.CurrentWorkbook(){[Name="tCapa"]}[Content],
    Filtre_NA = Table.SelectRows(Source, each ([#"Date d'approbation"] <> "NA")),
    SuppDoublons = Table.Distinct(Filtre_NA, {"N° ACAP", "Date d'approbation"}),
    Filtre = Table.SelectRows(SuppDoublons, each ([#"Date d'approbation"] <> null) and ([Date clôture ACAP] = null)),
    AnnéeMois = Table.AddColumn(Filtre, "Année-Mois", each DateTime.ToText([#"Date d'approbation"],"yyyy-MM"), Text.Type),
    GroupBy = Table.Group(AnnéeMois, {"Année-Mois"}, {{"Nombre", each Table.RowCount(_), Int64.Type}, {"ACAP", each Text.Combine([#"N° ACAP"]," / ")}}),
    Tri = Table.Sort(GroupBy,{{"Année-Mois", 0}})
in
    Tri

La requête retourne ceci :

image

EDIT : Erreur copie écran rectifiée.....(c'est préférable de poster la bonne....)

Re

A noter que cela compte chaque occurrence donc n fois certains numéros répétés...

Bonsoir à tous !

Pour le "fun", une version formule (M365) :

=LET(
t;tCapa;
e;EXCLURE(GROUPER.PAR(PRENDRE(t;;2);PRENDRE(t;;-1);ASSEMB.H(NBVAL;LAMBDA(x;TABLEAU.EN.TEXTE(TEXTE(x;"aaaa")))));1);
f;PRENDRE(FILTRE(e;(CHOISIRCOLS(e;3)=1)*(CHOISIRCOLS(e;4)="1900")*(CHOISIRCOLS(e;2)>0));;2);
ASSEMB.V({"Année-Mois"."Nombre"."ACAP"};EXCLURE(GROUPER.PAR(TEXTE(PRENDRE(f;;-1);"aaaa-mm");PRENDRE(f;;1);ASSEMB.H(NBVAL;TABLEAU.EN.TEXTE);;0);1))
)

Qui retourne ceci :

image
Rechercher des sujets similaires à "formule calcul dossier cours fin chaque mois"