Microsoft 365 Erreur formule avec plusieurs conditions

DanKrzh

XLDnaute Nouveau
Bonjour à tous,

J'ai un tableau de suivi de mission dans lequel certaines données s'incrémentent automatiquement en fonction d'un export d'un site intranet.

Dans l'exemple en PJ j'ai supprimé les données inutiles et remplacé certaines dans un soucis d'anonymat mais le principe reste inchangé.

En colonne O il y 2 notions importantes, URGENT ou Standard.

A- Un délai URGENT ne doit pas dépasser 6 jours ouvrés par rapport à la date de la colonne N. Sinon il est considéré hors délai est viendra s'inscrire en colonne P sous forme "HORS DELAIS".

B- Un délai Standard ne doit pas dépasser 15 jours ouvrés toujours par rapport à la colonne N. Sinon même punition que précédemment on viendra inscrire "HORS DELAIS" en colonne P.

Les jours ouvrés vont du lundi inclus au vendredi inclus.

La formule à simplifier et à rectifier se trouve donc en colonne P. Voici celle que j'ai mise et j'ai comme l'impression qu'elle ne fonctionne pas correctement ^^ :

=SI(L2="";"";SI(J2<>"";"";SI(ET(J2="";O2="URGENT");SI(N2+9>=SERIE.JOUR.OUVRE(N2;6;0);"";"HORS DELAIS");SI(ET(J2="";O2="standard");SI(N2+20>=SERIE.JOUR.OUVRE(N2;15;0);"";"HORS DELAIS");""))))

Les conditions à respecter sont les suivantes et dans l'ordre chronologique indiqué :

1- Si L2 est vide alors P2 reste vide

2- Si il y a une donnée en J2 alors P2 reste vide

3- Si J2 est vide et qu'en O2 il est précisé URGENT alors en P2 viendra s'inscrire soit "HORS DELAIS" si le délai fonction de N2 est dépassé (expliqués plus haut "A-"), soit vide si délai non dépassé.

4- Si J2 est vide et qu'en O2 il est précisé Standard alors en P2 viendra s'inscrire soit "HORS DELAIS" si le délai fonction de N2 est dépassé (expliqués plus haut "B-"), soit vide si délai non dépassé.

Pouvez-vous me donner un coup de main s'il vous plaît ?

Et si je peux abuser encore un peu ^^, j'aimerais mettre des mises en forme conditionnelles reprenant le même principe. J'en ai déjà mis en place mais pas sûr qu'elles soient correctes.

==> Rouge si délai dépassé

==> Jaune à l'approche de la deadline (standard 4 jours ouvrés avant DL et urgent 2 jours ouvrés avant DL)


Question supplémentaire : les jours fériés sont-ils automatiquement pris en compte dans la fonction "jours ouvrés" ? si non comment faut-il faire pour les prendre en compte ?

Je reste à votre disposition pour de plus amples renseignements.


Cordialement.
 

Pièces jointes

  • Exemple 20210105.xlsx
    11.8 KB · Affichages: 19

danielco

XLDnaute Accro
Bonjour,

Je ne comprends pas par rapport à quoi tu calcules l'urgence (ou le hors-délai). Par rapport à la date du jour ?
pour répondre à ta question "supplémentaire", non ils ne sont pas pris en compte automatiquement (ils différent selon les endroits). Il faut les psécifier dans une plage de cellules et indiquer celle-ci dans le troisième paramètre de SERIE.JOURS.OUVRES.

Daniel
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour

Une proposition, j'ai laissé une colonne avec le nombre de jours ouvrés prenant en compte les jours feriés qui sont dans une plage nommée 'Feriés'.
=SI(ET(L2>0;J2="");CHOISIR((NB.JOURS.OUVRES.INTL(N2;AUJOURDHUI();1;Feriés)>SI(O2="URGENT";6;15))+1;"";"HORS DELAIS");"")
Cordialement
 

Pièces jointes

  • Exemple 20210105.xlsx
    20 KB · Affichages: 5

DanKrzh

XLDnaute Nouveau
Bonjour Roblochon,

ça fonctionne bien merci :)

Et si dans la colonne que vous avez rajouté on indique plutôt la date limite à ne pas dépasser, cela est faisable ?

Je vous joint le fichier modifié et à jour avec votre formule en colonne P et la demande ci-dessus en colonne Q. En "Feuil2" j'ai également mis les jours fériés.
 

Pièces jointes

  • Exemple 20210105.xlsx
    15.5 KB · Affichages: 2

DanKrzh

XLDnaute Nouveau
Non je n'ai pas mis de date car c'est ici qu'il serait intéressant de mettre la formule de ma demande précédente.
a savoir si :
- O = Standard alors en Q on indiquera la date N + 15 jours ouvrés
- O = URGENT alors en Q on indiquera la date N + 6 jours ouvrés

Oui j'ai compris, je suis allé me renseigné sur un site (https://www.excelcorpo.com/index.ph...vres-intl-d-excel-en-anglais-networkdays-intl).

Je suis novice en Excel, j'apprends tous les jours mais le peu de pratique ne me permets pas d'être autonome et de maitriser complètement les rouages d'Excel ;)
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Essayez alors avec la fonction SERIE.JOURS.OUVRES.INTL qui donne une date ultérieure selon un nombre de jours de décalage et prenant en compte les feries.

SERIE.JOUR.OUVRE.INTL($N2;SI($O2="Standard";6;15);1;Jours.Fériés[Date])

En gardant cette date dans une colonne, votre première formule en sera simplifiée ainsi que les éventuelles mises en forme conditionnelles. Ensuite une question sera de savoir dans vos formule si la date calculée est incluse ou non dans le délai.

Cordialement
 

DanKrzh

XLDnaute Nouveau
Super merci beaucoup.

On aurait pu commencer par cette formule et ainsi simplifier la première par celle-ci:

=SI(ET(L2>0;J2="");SI(Q2>AUJOURDHUI();"";"HORS DELAIS");"")

La date calculée est le dernier jour du délai, le lendemain on passe hors délai.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Oui :) La possibilité de rajouter une colonne n'était pas dans votre demande initiale. Il m'a semblé que vous étiez contraint à cette structure. J'aurais dû vous le proposer au lieu de conclure tout de suite.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 107
Messages
2 085 354
Membres
102 873
dernier inscrit
yayo