Entre 2 dates

Résolu
Max -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voici mon problème :

J'ai deux dates, et j'aimerai que si entre les 2 dates il y a un week end alors la personne aura 130€ et si il n'y en a pas, alors rien. J'ai déjà essayé 2-3 truc mais sans succès.

Si besoin je peux mettre une PJ, il faudrait juste me donner un site pour le faire

11 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     
    Bonjour

    Avec une date inf en A2, l'autre date en B2
    =SI(JOURSEM(A2;2)+(B2-A2)>=7;130;0)
    0
    1. Max
       
      C'est génial, par contre, comment je fais si il y a 2 week ends? ^^
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Pour transmettre un fichier,
    Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...

    ou
    'mon partage
    https://mon-partage.fr/

    ou
    www.transfernow.net 'fichier jusqu'a 4G
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    Essaye comme cela voir

    =SOMMEPROD((JOURSEM(LIGNE(INDIRECT(ENT(A$1)&":"&ENT(A$2)));2)>5)*1)
    0
    1. Max
       
      T'as formule me donne 6€ à la place de 130..
      0
  4. Max
     
    Merci à vous tous pour vos réponses.

    J'ai une deuxième question du coup, je veux faire la même chose, mais cette fois pour les jours fériés, s'il vous plaits, merci d'avance
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    alors il faut saisir ou calculer les jours fériés dans une plage exemple entre L2 et L15

    =SOMMEPROD(--(JOURSEM(LIGNE(INDIRECT(A1&":"&A2));2)>=6))+SOMMEPROD((L2:L15>=A1)*(L2:L15<=A2))

    dans ce cas il serait préférable de nommer la plage des jours fériés surtout si cette plage est dans un onglet différent, exemple nommer la plage Fériés et la formule deviendrait
    =SOMMEPROD(--(JOURSEM(LIGNE(INDIRECT(A1&":"&A2));2)>=6))+SOMMEPROD((Fériés>=A1)*(Fériés<=A2))


    ou encore
    =SOMMEPROD((JOURSEM(LIGNE(INDIRECT(ENT(A$1)&":"&ENT(A$2)));2)>5)+NB.SI(Fériés;(LIGNE(INDIRECT(A1&":"&A2))))*1)
    0
    1. Max
       
      C'est gentil de ta part, mais tes formules de marche pas, il ne me ressort aucun prix...
      0
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    la formule décompte le nombre de jours de week-end et fériés, à partir de la il te suffit simplement de multiplier par la valeur de ton choix soit 130

    =(SOMMEPROD(--(JOURSEM(LIGNE(INDIRECT(A1&":"&A2));2)>=6))+SOMMEPROD((Fériés>=A1)*(Fériés<=A2)))*130 


    avant que tu me dises que s'il n'y a pas de jour la formule retourne 0 et si tu ne veux pas ce 0 il faut créer un format personnalisé clic droit/Format de cellule/Nombre/Personnalisé et sous Type saisir Standard;;
    ou également 0;;
    0
  8. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
     
    Bonjour

    Salutations Mike-31

    Si on en revient à la demande initiale de Max c'est 130 pour un weekend ; or ta formule compte 2*130.

    Par exemple pour un travail du 1er au 15 mai 2018 inclus on compte 3 jours fériés et 2 weekends ce qui, à mon avis, fait 650 ; ta formule donne 910

    Personnellement j'ai joué sur la différence des numéros de semaine pour calculer le nombre de weekends

    Voici ma formule

    =SI(NO.SEMAINE(A1;2)=NO.SEMAINE(A2;2);((A2-A1+1)-NB.JOURS.OUVRES(A1;A2;Fériés))*130;(((A2-A1+1)-NB.JOURS.OUVRES(A1;A2;Fériés))-(NO.SEMAINE(A2;2)-NO.SEMAINE(A1;2)))*130)


    Cordialement
    0
    1. Max
       
      Bonjour Papy,

      J'ai essayé ta formule et elle ne marche pas.. elle me met l'erreur "#NOM?" j'ai regardé mais pas trouvé l'erreur..
      0
    2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512 > Max
       
      Bonjour,

      J'ai un peu modifié ma formule

      =SI(NO.SEMAINE(A1;2)=NO.SEMAINE(A2;2);((A2-A1+1)-NB.JOURS.OUVRES(A1;A2;Fériés))*130;(((A2-A1+1)-NB.JOURS.OUVRES(A1;A2;Fériés))-(SI(JOURSEM(A2;2)=7;NO.SEMAINE(A2+1;2);NO.SEMAINE(A2;2))-NO.SEMAINE(A1;2)))*130)


      Chez moi ça fonctionne mais il faut dire que nous travaillons à l'aveugle et on ne peut pas se rendre compte ; alors répond à la sollicitation de f894009 dans la réponse #2

      Autre précision lorsqu'un jour férié tombe un samedi comme le 14 juillet de cette année est-ce que ça compte 130 en plus des 130 du WE ?

      A te lire

      Cordialement
      0
    3. Max
       
      Merci du temps que tu prend pour moi Papy,

      J'ai oublié de le préciser.. Mais non les jours fériés qui tombe un samedi ou dimanche tel que le 14 juillet, compte comme un week-end.

      La formule ne marche pas non plus..

      Je vous ai donc créé le lien de mon tableau, très simplifié car je n'ai laissé que les primes Week End et primes fériés (ce que je ne trouve pas..)

      Voici le lien :

      https://www.cjoint.com/c/HFlipynIhNx
      0
    4. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512 > Max
       
      Encore un chose que tu n'avais pas précisée est que tu voulais une séparation des primes WE et celles des JF

      Je regarde ça un peu plus tard dans la journée.

      Cordialement
      0
    5. Max > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
       
      Tu pourras le voir sur mon doc, oui j'aimerai une séparation..

      D'accord, merci
      0
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    regarde en E4
    =(SOMMEPROD((Férié>=C4)*(Férié<=D4)))*130

    et en F4
    =(SOMMEPROD((JOURSEM(LIGNE(INDIRECT(ENT(C4)&":"&ENT(D4)));2)>5)*1)-SOMMEPROD((Férié>=C4)*(Férié<=D4)))*130

    reste à savoir si samedi et dimanche compte 2*130 ou 1*130

    pour les #REF! on améliorera lorsque le résultat attendu sera bon
    0
    1. Max
       
      Pour la première ligne j'ai le résultat que je souhaite :)

      Mais pour les autres lignes, la formules ça ne marche pas :(
      0
  10. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    tu peux en dire un peu plus que de te contenter dire ça ne marche pas, nous n'avons pas de boule de cristal pour deviner ce qui ne marche pas.
    ligne 2 entre le 3/1/18 et le 5/1/18 pil n'y a pas de jours fériés ni de week end donc rien
    ligne 3 entre 9/11/18 et le 12/11/18 il y a un week end complet samedi et dimanche donc deux jours et en même temps un jour férié la si tu répondais à ma question du post précédent
    reste à savoir si samedi et dimanche compte 2*130 ou 1*130
    ou dire ce que tu attends comme résultat ça nous aiderait à comprendre et être plus efficace
    0
    1. Max
       
      Oui mais pour être explicite il faudrait aussi que j'arrive à comprendre les formules, et vous êtes à un niveau bien plus élevés que moi..

      C'est 1*130

      Le résultat que j'attend, précisément, c'est de savoir s'il y a un ou plusieurs weekend, combien je dois donner au salarié, et pareil pour les jours fériés, mais si le jour férié est durant le weekend on le compte comme un jour normal. J'ai déjà fais une liste des jour férié qui compte dans le document que je vous ai joint.

      Oui j'aurai pu dire pour la ligne 2 et 3. Donc la je viens de refaire le test et je te dis les erreurs rencontré :

      ligne 3 il n'y a aucun weekend mais il me compte 260€ de weekend, et il il y a un jour férié mais elle ne me le compte pas.

      Pour la ligne 4 j'ai essayé entre le 30/04/2018 et 14/05/2018. Il y a 2 weekend mais il m'en compte que 130€.. Mais par contre pour les jours férié ça marche.

      J'espère que cela t'aidera..
      0
  11. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Le tout est de ce comprendre et comprendre les attentes, mais on va y arriver

    en E4
    =(SOMMEPROD((Férié>=C4)*(Férié<=D4)))*130 


    en F4
    =SIERREUR(((SOMMEPROD((JOURSEM(LIGNE(INDIRECT(ENT(C4)&":"&ENT(D4)));2)>5)*1)/2)+(SOMMEPROD((Férié>=C4)*(Férié<=D4)))-(SOMMEPROD((Férié>=C4)*(Férié<=D4))))*130;"")

    si le résultat est bon cette formule en F4 devrait suffir
    =(SOMMEPROD((JOURSEM(LIGNE(INDIRECT(ENT(C4)&":"&ENT(D4)));2)>5)*1)/2)*130


    si on se rapproche de tes attentes, sélectionne la plage colonne E et F/Format de cellule/Personnalisée et crée ce format
     0,00 €;;


    ton tableau sera plus net
    0
    1. Max
       
      GÉNIAL ! pour c'est ok pour tout! :D

      Je te remercie pour tout le temps que tu auras pris pour moi :)

      Bonne continuation
      0
    2. Max
       
      Mike dis moi, est ce que tu pourrai m'expliquer ta formule ? :)

      Histoire que je puisse la réutilisé aux cas où
      0
    3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      oui bien sur, cette formule en E4 =(SOMMEPROD((Férié>=C4)*(Férié<=D4)))*130
      SOMMEPROD((Férié>=C4)*(Férié<=D4)) ici SOMMEPROD va compter le nombre de jours fériés qui figurent dans ta plage nommée Férié qui serons supérieur ou égale au contenu de la cellule C4 et inférieur ou égale au contenu D4 ensuite on le multiplie par 130
      Férié>=C4 va tester les dates de la plage nommée par rapport à la date 01/05/2018 et revoyer
      {FAUX;FAUX;FAUX;VRAI;VRAI;VRAI;VRAI;VRAI;VRAI;VRAI}
      et Férié<=D4 va renvoyer
      {VRAI;VRAI;VRAI;VRAI;VRAI;VRAI;FAUX;FAUX;FAUX;FAUX}
      SOMMPROD va retenir le nombre de VRAI en superposant les deux listes se trouvant au même endroit dans la chaine et on voit très bien qu'il y en a 3 de la quatrième à la sixième place

      ensuite je te conseille d'utiliser en F4 cette formule simplifiée
      =SIERREUR((SOMMEPROD((JOURSEM(LIGNE(INDIRECT(C4&":"&D4));2)>5)*1)/2)*130;"")


      SOMMEPROD((JOURSEM(LIGNE(INDIRECT(C4&":"&D4));2)>5)*1)/2)

      INDIRECT(C4&":"&D4) permet de retenir la valeur contenu en C4 et D4 et traduire ce bout comme 01/05/2018&":"&15/05/2018

      LIGNE(INDIRECT(C4&":"&D4)) Ligne va générer dans l'exemple 15 lignes correspondant aux 15 jours entre le 01 et 15
      et générer un nombre soit {43221;43222;43223;43224;43225;43226;43227;43228;43229;43230;43231;43232;43233;43234;43235} ce qui correspond à tes 15 jours 43221 est le 01/05/2018, 43222 est le 02/05/2018 etc

      JOURSEM(LIGNE(INDIRECT(C4&":"&D4));2) JOURSEM va générer la valeur jour dimanche = 1, lundi = 2, mardi = 3 etc
      ici
      {2;3;4;5;6;7;1;2;3;4;5;6;7;1;2} donc le 01/05/2018 est 2 soit mardi, 3 = mercredi, 4 = jeudi etc

      il ne reste plus qu'a compter le nombre de samedi et dimanche correspondant à 6 et 7 dans la liste parmi les dates générées {43221;43222;43223; etc soit les valeurs > à 5
      SOMMEPROD((JOURSEM(LIGNE(INDIRECT(C4&":"&D4));2)>5)*1
      le *1 est pour forcer l'affichage numérique

      et comme on ne veut pas les samedi et dimanche mais les week end de 2 jours on divise le résultat par 2 puis on multiplie par la taux de rémunération 130

      tu peux tester chaque partie de la formule exemple, dans la barre des formules sélectionne cette partie de formule
      LIGNE(INDIRECT(C4&":"&D4)) et clic sur la touche F9 cela t'affichera la liste des dates entre 01/05/2018 et 15/05/2018 sous format numéque
      {43221;43222;43223;43224;43225;43226;43227;43228;43229;43230;43231;43232;43233;43234;43235}
      echap
      sélectionne maintenant JOURSEM(LIGNE(INDIRECT(C4&":"&D4));2) et clic sur F9 cela t'affichera la valeur numérique des jours semaine
      {2;3;4;5;6;7;1;2;3;4;5;6;7;1;2}

      =SIERREUR en début et ;"") en fin de formule gère les erreurs et n'affiche rien si une erreur est rencontrée dans le cas de date absence ou erronée
      voila j'espère avoir été assez clair et pas trop thecnique
      0
    4. Max
       
      Et bien je te remerci, il me manque juste une explication c'est le "&":"&", cela signifie quoi?
      0
    5. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
       
      & veut dire ET
      exemple pour concaténer les valeurs de plusieurs cellules tu peux écrire =A1&A2&A3 Excel traduira la valeur contenu en A1 puis la valeur A2 etc ...
      si tu veux insérer du texte tu écris =A1&" TITI "&A2 ce qui se traduira par le contenu A1 TITI et le contenu A2

      et dans la formule C4&":"&D4) va être traduite par 01/05/2018 &":"&15/05/2018 et plus simplement
      01/05/2018:15/05/2018
      et indirect va renvoyer le résultat de la concaténation 01/05/2018:15/05/2018 de sorte que LIGNE établisse la liste entre ces deux dates
      0
  12. mdo100 Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   22
     
    Bonjour à toutes et tous,

    @Max si tu as Excel 2010 et plus, alors pour compter les Week-ends sans les "Fériés"tu peux utiliser la fonction:
    =NB.JOURS.OUVRES.INTL(date_début, date_fin, [weekend], [jours_fériés])
    Tu ne précises pas si un Week-end c'est "Samedi et Dimanche" par exemple que ce passe t-il si il n'y a que le "Samedi" où que le "Dimanche" est-ce une demie prime de 130 € ?

    Exemple:
    En "A1" 30/04/2018
    En "B1" 14/05/2018

    Dans l'hypothèse ou la prime soit pour un Week-end complet:
    =NB.JOURS.OUVRES.INTL(A1;B1;"1111110";Fériés)*130
    Dans l'hypothèse ou la prime est dû pour un demi Week-end donc 130/2
    =NB.JOURS.OUVRES.INTL(A1;B1;"1111100";Fériés)/2*130

    Je ne reviens pas sur la solution pour compter uniquement les jours fériés puisque la solution de Mike-31 fonctionne.

    Au passage la solution pour additionner les Fériés et les Week-end de PapyLuc51 et tenant compte des N° de semaine fonctionne correctement, je l'a note pour mes archives.

    J'en termine avec un p'tit salut à l'ami M12.

    Cordialement.
    0
    1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 512
       
      Salutations et merci de cette confirmation.

      Bien cordialement
      0
      1. mdo100 Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   22 > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
         
        Re PapyLuc51,

        Mais de rien, je ne l'aurais pas trouvé celle là.

        Bonne journée.
        0