Formule - Incrémation numération à trois niveau (x.x.x)

Hello le forum,

Je sèche sur une formule...

Contexte :

Pour une application de gestion de projet, j'insère des tâches avec un incrémentation à trois niveau (Tâche principal, sous-tâche et sous-sous tâche, au format x.x.x).

Problématique :

Pour pouvoir insérer une nouvelle tâche selon le projet, je viens avec trois formule chercher le dernier numéro de tâche enregistrer selon le niveau (Principal, sous, sous-sous).

Jusqu'à là, j'ai réussi à pondre une formule répondant à mon besoin, je connais désormais le dernier numéro utiliser selon le niveau, mais par contre à ce stade je ne différencie pas le numéro de projet, ce qui forcémenent me pose problème.
Avec mes formules je viens filtrer sur la tâche supérieur, donc pour les niveau sous-tâche et sous-sous tâche j'arrive à connaître le bon numéro, mais pas pour la tâche principal.

Récapitulatif :

J'ai donc une base de données avec toutes les tâches de tous mes projets enregistrés dedans et j'aimerais pouvoir afficher le dernier numéro de chaque niveau selon la tâche supérieur.

Voici un fichier exemple pour mieux comprendre, je vous laisse prendre connaissance des formules dans les cellules C2, D2, E2. (J'arrive à me contenter du résultat des cellules D2 et E2).
Donc quand aucun nom de tâche est spécifié j'aimerais connaître le numéro de la dernière tâche selon le projet.

J'espère avoir été assez précis...

Merci d'avance, A+,
Kilian

Bonjour,

une proposition via une fonction personnalisée.

Hello h2so4,

Merci pour ta réponse.

Mais ce n'est pas exactement ce que je cherche.
Car ta fonction renvoi le numéro de tâche correspondant à la ligne.

Or, ce que j'aimerais en réalité c'est la dernière tâche créer pour un projet et un niveau, je m'explique :

Si je voudrais créer une sous-tâche du point 2.0.0 du projet 1, les formules vont m'indiquer que la dernière tâche créer est la 2.4.0, il ne me restera donc plus qu'à faire +1 sur le deuxième chiffre et j'aurai mon nouveau numéro de tâche (2.5.0).

Pour les numéro 2 (x.X.x) et numéro 3 (x.x.X), ma formule se base sur le numéro de la tâche supérieur renseigner dans la colonne Top Task et par conséquent, j'arrive au résultat escompté car les task name ne seront jamais identique d'un projet à un autre (ou du moins je l'espère).

Par contre pour le premier numéro (X.x.x), ma formule se basant sur les cellules vides de la colonne Top Task, tous les projets sont pris en compte...

J'espère que mon explication n'est pas trop brouillon...

Merci,
Kilian

Hello,

N'ayant toujours pas trouvé de solution, je me permet de relancer ceci...

Merci d'avance,
Kilian

Hello,

J'ai trouver une solution pour contourner mon problème...
A la place de m'obstiner à vouloir ajouter un filtre sur le numéro de projet, j'ai créer un nouveau tableau qui lui est filtrer par projet.

Et j'ai pu donc simplement remplacer les tableaux de ma formule par un autre et cette fois c'est bon.

Donc les nouvelles formules :

Premier chiffre (X.x.x)

=MAX(CNUM(FILTRE(STXT(TABTaskPlanning[ID tâche];1;CHERCHE(".";TABTaskPlanning[ID tâche])-1);TABTaskPlanning[Top task]=J3;FILTRE(STXT(TABTaskPlanning[ID tâche];1;CHERCHE(".";TABTaskPlanning[ID tâche])-1);TABTaskPlanning[Nom de la tâche]=J3))))

Deuxième chiffre (x.X.x)

=MAX(CNUM(FILTRE(STXT(TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];1)+1;NBCAR(CHERCHE(".";TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];1)+1)));TABTaskPlanning[Top task]=J3;FILTRE(STXT(TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];1)+1;NBCAR(CHERCHE(".";TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];1)+1)));TABTaskPlanning[Nom de la tâche]=J3))))

Troisième chiffre (x.x.X)

=MAX(CNUM(FILTRE(STXT(TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];3)+1;NBCAR(CHERCHE(".";TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];1)+1)));TABTaskPlanning[Top task]=J3;FILTRE(STXT(TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];3)+1;NBCAR(CHERCHE(".";TABTaskPlanning[ID tâche];CHERCHE(".";TABTaskPlanning[ID tâche];1)+1)));TABTaskPlanning[Nom de la tâche]=J3))))

Elles sont assez longue, mais peut-être que ceci pourra aider quelqu'un un jours...

A+,
Kilian

Rechercher des sujets similaires à "formule incremation numeration trois niveau"