Compris entre

LilPimp -  
Lil972 Messages postés 8 Statut Membre -
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. Frenchie83 Messages postés 2254 Statut Membre 339
     
    Bonjour
    Une proposition à tester
    https://www.cjoint.com/c/GBsfDc7jVww
    Cdlt
    1
    1. Lil972 Messages postés 8 Statut Membre
       
      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. Frenchie83 Messages postés 2254 Statut Membre 339 > Lil972 Messages postés 8 Statut Membre
       
      Bonsoir 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. Frenchie83 Messages postés 2254 Statut Membre 339 > Frenchie83 Messages postés 2254 Statut Membre
       
      Bonjour
      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. Lil972 Messages postés 8 Statut Membre
       
      Re Frenchie,
      Tout d'abord tutoie moi sinon nous ne serons pas collègues.
      0
    5. Lil972 Messages postés 8 Statut Membre > Frenchie83 Messages postés 2254 Statut Membre
       
      Mais merci quand même je mets ta formule à gauche. On ne sait jamais.
      Cdlt
      0
  2. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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. Lil972 Messages postés 8 Statut Membre
       
      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
      1. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759 > Lil972 Messages postés 8 Statut Membre
         
        Bonjour 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
    2. Lil972 Messages postés 8 Statut Membre
       
      Merci via! Je jetterai un œil mais je pense que ça marche
      0
  3. didmed Messages postés 2654 Date d'inscription   Statut Membre Dernière intervention   844
     
    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. Lil972 Messages postés 8 Statut Membre
       
      Merci bien didmed et via vous me sortez une épine du pied.
      Tkt frenchie, je t'oublie pas. Merci encore.
      À+ tout le monde
      0