Report de la dernière occurrence d'une tâche

Bonjour,

A partir d’un tableau (lignes = mois, colonne = employés, corps = tâches),

Je souhaite reporter la date de la dernière occurrence pour des tâches affectées aux employés.

Il peut y avoir plusieurs tâches au cours d’une journée (ex ‘V/1’, ‘H/2’, ‘R/AC’ )

Dans ces cas je souhaiterais que :

Si pour l’employé 7

‘2’ et ‘V’ ont pour dernière occurrence le 18 Mai,

Alors dans le tableau de report,

18 Mai apparait dans la colonne ‘V’ et dans la colonne ‘2’

sur la ligne Employé 7

Malgré des sujets comparables déjà résolus je n'arrive pas à adapter les réponses fournies à mon cas

Merci d’avance au généreux / à la généreuse qui me portera secours, je me noie

glouglou..

glou

gl

15test.xlsx (12.10 Ko)

Bonjour,

ci joint un fichier :

Mais il ne prend pas en compte les données multiples... Mais c'est un début

@ bientôt

LouReeD

Bonjour,

Je t'ai pondu cette formule un peu compliquée pour faire ce que tu as à faire :

=SIERREUR(INDIRECT(ADRESSE(1;MAX(SI(SIERREUR(TROUVE(C$3;Mai!$B2:$AF2);0)>0;COLONNE(Mai!$B2:$AF2);""));;;"Mai"));"")

Mise en garde par rapport à la solution : Le problème c'est que tu mets plusieurs tâches dans la même cellule, du coup je suis obligé de chercher un caractère dans une chaîne de texte, ce qui fait que si tu nommes une tâche "A", et une autre "CA", la formule trouvera ta tâche A dans la chaîne de texte "CA", c'est le seul problème, fais attention en nommant tes tâches du coup.

Tu trouveras le fichier à la fin du paragraphe d'explication.

On va commencer par les premières couches de la fonction :

=SIERREUR([...];"")

Si la tâche n'est pas trouvée, au lieu de renvoyer un joli code d'erreur, on met ça : ""

INDIRECT([...])

Sert à renvoyer la valeur d'une cellule à partir d'une adresse donnée sous forme de texte

ADRESSE(1;[...];;;"Mai"));"")

C'est cette fonction qui va alimenter INDIRECT, elle va fournir une adresse à partir de 3 données :

numéro de ligne

numéro de colonne

feuille

La ligne est celle contenant les dates, la première

La colonne... est renvoyée par plein de formules

La feuille est "Mai"

MAX(SI(SIERREUR(TROUVE(C$3;Mai!$B2:$AF2);0)>0;COLONNE(Mai!$B2:$AF2);""))

Bon celle là je vais tout expliquer d'un coup, accroche toi

Toutes ces fonctions permettent uniquement de trouver la dernière colonne qui contient la tâche recherchée.

Pour trouver la dernière, on a d'abord la fonction TROUVE

TROUVE(C$3;Mai!$B2:$AF2)

Elle va chercher dans chaque colonne la tâche et renvoyer une valeur si elle la trouve, un code d'erreur si elle ne la trouve pas.

La fonction SIERREUR...

SIERREUR([...];0)

permet à tout ça de fonctionner, comme je l'ai dis, trouve renvoie des codes d'erreurs, et les formules n'aiment pas les codes d'erreurs, du coup, on utilice SIERREUR pour plutôt renvoyer 0

La fonction SI

SI([...]>0;COLONNE(Mai!$B2:$AF2)

va renvoyer un tableau (pour ça il faut valider la formule en faisant Ctrl + Shift + Entrée), ce tableau contiendra les valeurs de colonnes trouvées.

Enfin, la fonction MAX

MAX([...])

prendra la valeur la plus élevée, autrement dis, la dernière colonne, la dernière date.

Voilà...

25copie-de-test.xlsx (21.69 Ko)

Super

Merci infiniment pour vos réponses les gars, vous m'avez fait gagné un temps fou

Soyez-en remercié

Rechercher des sujets similaires à "report derniere occurrence tache"