Microsoft 365 Affichage prochaine échéance

Judu69

XLDnaute Nouveau
Bonjour,
J'ai des dates en L2, V2, X2, AA2 et AB2.
Je voudrais qu'en D2 apparaissent via une formule les informations suivantes :
- Si ces cases sont vides : qu'il n'apparaisse rien : j'ai réussi via la formule suivante : SI(NBVAL(L2;V2;X2;AA2;AB2)=0;""
- Que la prochaine échéance apparaisse : ça fonction via la formule suivante : PETITE.VALEUR(L2:AB2;NB.SI(L2:AB2;"<"&AUJOURDHUI())+1
- Si des dates sont déjà renseignées mais qu'elles sont toutes passées : qu'il n'apparaisse rien dans ma cellule : je n'y arrive pas.
J'espère avoir été clair dans mon explication.
Merci,
Ju
 

Judu69

XLDnaute Nouveau
Bonjour,
Ca ne fonctionne toujours pas
Ca m'indique qu'un trop grand nombre d'argument ont été rentrés
Je joins un exemple de fichier ce sera peut être plus simple
J'ai fait exprès de ne pas mettre de signe " =" devant la formule car Excel refuse de la prendre.
Merci de votre aide
 

Pièces jointes

  • Test.xlsx
    13.8 KB · Affichages: 5

zebanx

XLDnaute Accro
Bonjour Judu69, JHA

Proposition d'utilisation d'un UDF permettant d'utiliser une caractéristique "boolean" (0/1) pour la condition 3
L'UDF exige 5 données à remplir comme indiqué à choisir.
Si les 5 dates sont inférieures à aujourdhui() alors "".
Et valide, sauf erreur, la première condition

VB:
Function dateJ(c1, c2, c3, c4, c5)
xc1 = 0: xc2 = 0: xc3 = 0: xc4 = 0: xc5 = 0
If c1 < Date Then xc1 = 0 Else xc1 = 1
If c2 < Date Then xc2 = 0 Else xc2 = 1
If c3 < Date Then xc3 = 0 Else xc3 = 1
If c4 < Date Then xc4 = 0 Else xc4 = 1
If c5 < Date Then xc5 = 0 Else xc5 = 1
dateJ = xc1 + xc2 + xc3 + xc4 + xc5
End Function

Voir fichier joint

xl-ment
 

Pièces jointes

  • pv.xlsm
    20.7 KB · Affichages: 5
Dernière édition:

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer cette formule matricielle avec ce que je comprends:
VB:
=SI(NB.SI($L2:$AB2;">="&AUJOURDHUI())=0;GRANDE.VALEUR(SI((L2:AB2<AUJOURDHUI());L2:AB2);1);PETITE.VALEUR(SI((L2:AB2>=AUJOURDHUI());L2:AB2);1))

JHA
 

Pièces jointes

  • Test (2).xlsx
    13.7 KB · Affichages: 3

Judu69

XLDnaute Nouveau
Bonjour à tous,

A essayer cette formule matricielle avec ce que je comprends:
VB:
=SI(NB.SI($L2:$AB2;">="&AUJOURDHUI())=0;GRANDE.VALEUR(SI((L2:AB2<AUJOURDHUI());L2:AB2);1);PETITE.VALEUR(SI((L2:AB2>=AUJOURDHUI());L2:AB2);1))

JHA
au
Il y a un instant
  • Nouveau
  • Ce lien n'existe plus
  • #10
Eisas_fr a dit:
=MIN(SI(L2<AUJOURDHUI();MAX(L2;N2;P2;R2);L2);SI(N2<AUJOURDHUI();MAX(L2;N2;P2;R2);N2);SI(P2<AUJOURDHUI();MAX(L2;N2;P2;R2);P2);SI(R2<AUJOURDHUI();MAX(L2;N2;P2;R2);R2))
Merci mais la date dépassée apparait toujours sinon j'ai 00/01/1901
 

Judu69

XLDnaute Nouveau
Bonjour à tous,

A essayer cette formule matricielle avec ce que je comprends:
VB:
=SI(NB.SI($L2:$AB2;">="&AUJOURDHUI())=0;GRANDE.VALEUR(SI((L2:AB2<AUJOURDHUI());L2:AB2);1);PETITE.VALEUR(SI((L2:AB2>=AUJOURDHUI());L2:AB2);1))

JHA

Bonjour, merci cela fonctionne.
Une question néanmoins me taraude, serait il possible que la fonction suivante "PETITE.VALEUR(L2:AB2;NB.SI(L2:AB2;"<"&AUJOURDHUI())+1))" ne prenne en compte que les cellules : L2;V2;X2;AA2;AB2 ?
Merci,
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

A essayer cette formule matricielle
VB:
=PETITE.VALEUR(SI((L2<=AUJOURDHUI())+(V2<=AUJOURDHUI())+(X2<=AUJOURDHUI())+(AA2<=AUJOURDHUI())+(AB2<=AUJOURDHUI());(L2;V2;X2;AA2;AB2));1)

JHA
 

Pièces jointes

  • Test (2).xlsx
    11.5 KB · Affichages: 2

Judu69

XLDnaute Nouveau
Bonjour à tous,

A essayer cette formule matricielle
VB:
=PETITE.VALEUR(SI((L2<=AUJOURDHUI())+(V2<=AUJOURDHUI())+(X2<=AUJOURDHUI())+(AA2<=AUJOURDHUI())+(AB2<=AUJOURDHUI());(L2;V2;X2;AA2;AB2));1)

JHA
Bonjour, ça ne semble pas fonctionner. Ce n'est pas grave, j'ai contourner le problème en trichant un peu. CF le fichier ;). Merci.
 

Pièces jointes

  • Test.xlsm
    39.6 KB · Affichages: 1

Statistiques des forums

Discussions
311 732
Messages
2 081 997
Membres
101 861
dernier inscrit
Jerem28630