Compris entre

Bonjour,
j'ai un casse-tête qui ne date pas d'hier. Mon délai d'approvisionnement est d'environ 37 jours, cela dit je ne peux réceptionner ma marchandise uniquement les 1,7,15 et 22 du mois. Comment pourrais-je dire à la cellule de me renvoyer la date la plus proche en fonction des dates ci-dessus. Exemple: A2=B1+37 avec B1=16/04/2015
A2 m'affiche 23/05/2015 et moi je souhaiterais qu'elle affiche le plus proche. C'est à dire le 22/05/2015.

Merci à tous

3 réponses

  1. Bonjour
    Une proposition à tester
    https://www.cjoint.com/c/GBsfDc7jVww
    Cdlt
    1
    1. Merci Frenchies83, ce n'est pas ce que j'attendais mais ça m'a donné des idées.
      Si tu vois plus pertinent envoies ce sera toujours ça de pris.

      Cdlt
      0
    2. @Lil972Bonsoir Lil972, Bonsoir Via55
      ce n'est pas ce que j'attendais
      Ok, ma formule n'est pas des plus courte, mais elle répond pourtant bien à votre question. si B1=16/04/2015 alors B2=22/05/2015.
      Si c'est le tableau en colonne E qui vous chagrine, on peut l'intégrer dans la formule et le supprimer.
      Si vous pouviez me dire où je me suis planté dans mon raisonnement.
      Bonne soirée
      Cdlt
      0
    3. @Frenchie83Bonjour
      Ca va, j'ai compris que j'avais mal interprété la question, je croyais que vous vouliez trouver la date qui se rapproche le plus entre 2 deux autres dates, alors que c'était la première date trouvé juste avant la date recherchée.
      Solution en respectant votre demande et sans tableau intermédiaire
      =SI(B1+37>=DATE(ANNEE($C$1);MOIS($C$1);22);DATE(ANNEE($C$1);MOIS($C$1);22);SI(B1+37>=DATE(ANNEE($C$1);MOIS($C$1);15);DATE(ANNEE($C$1);MOIS($C$1);15);SI(B1+37>=DATE(ANNEE($C$1);MOIS($C$1);7);DATE(ANNEE($C$1);MOIS($C$1);7);DATE(ANNEE($C$1);MOIS($C$1);1))))
      Cdlt
      0
    4. Re Frenchie,
      Tout d'abord tutoie moi sinon nous ne serons pas collègues.
      0
    5. @Frenchie83Mais merci quand même je mets ta formule à gauche. On ne sait jamais.
      Cdlt
      0
  2. Bonjour à vous deux

    Une formule plus courte à mettre en A2 qui doit faire l'affaire :
    =SIERREUR(DATEVAL(SI(JOUR(B1+37)=1;1;SI(JOUR(B1+37)<8;7;SI(JOUR(B1+37)<16;15;SI(JOUR(B1+37)<23;22)))&"/"&MOIS(B1+37)&"/"&ANNEE(B1+37)));DATEVAL("1/"&MOIS(B1+37)&"/"&ANNEE(B1+37)))

    Cdlmnt
    Via
    0
    1. Bonjour Via.
      Merci de mettre ta touche Perso. Cela dit ta formule ne peut pas fonctionner dans la mesure où si ça tombe un 17 il me donnera le 22 alors qu'il est plus proche du 15. C'est la notion de proximité qui me rends chèvre là-dedans.
      Cdlt
      0
    2. @Lil972Bonjour Lil

      OK alors essaie cette formule :
      =DATE(ANNEE(B1+37);SI(JOUR(B1+37)<27;MOIS(B1+37);MOIS(B1+37)+1);SI(OU(JOUR(B1+37)<5;JOUR(B1+37)>26);1;SI(JOUR(B1+37)<12;7;SI(JOUR(B1+37)<19;15;SI(JOUR(B1+37)<27;22)))))

      Pour toutes les dates inférieures au 22 et pile entre deux dates (par ex le 11 entre 7 et 15) la formule retient la plus petite (le 7 dans ce cas)
      Pour la date du 27 (>26) la formule retient au contraire la date du 1er du mois suivant qui est la plus proche pour tous les mois de moins de 31 jours et qui est aussi proche que le 22 pour les mois de 31 jours

      Cdlmnt
      Via
      0
    3. Merci via! Je jetterai un œil mais je pense que ça marche
      0
  3. Salut

    1) en F1 (au format date):B1+37
    2) en G1:=JOUR(F1)
    3) en H1:=SI((JOUR(B1+37))<=6;1;SI((JOUR(B1+37))<=14;7;SI((JOUR(B1+37))<=21;15;SI((JOUR(B1+37))<=31;22;""))))
    4) en A2 (au format date): =F1-($G$1-$H$1)

    @+
    Si t'as besoin de rien, fais-moi signe !...
    0
    1. Merci bien didmed et via vous me sortez une épine du pied.
      Tkt frenchie, je t'oublie pas. Merci encore.
      À+ tout le monde
      0