Calcul de date

Bonjour à tous

J'ai quelques difficultés, à calculer correctement deux date.

je m'explique :

afin de remplir correctement ma fiche de congé, j'ai réalisé un tableau excel, avec en $C$6 ma date de départ, et en $D$6 ma date de retour.
le résultat doit être affiché en $H$6. Ce calcul doit prendre en compte, les jours ouvrés, et les jours fériés de l'année.
je me retrouve donc en $H$6, avec
=NB.JOURS.OUVRES(C6;D6;ferie)
avec ces données, je rempli une feuille Word.

Jusque là, pas de soucis. Seulement, ma date de départ, ne devrait pas être comprise dans le calcul en $H$6 car, ma feuille word, stipule une date de départ au soir.
Il en est de même pour ma date de retour, qui ne doit pas être calculé, car mon retour devra être au matin.

exemple:
ma date de départ "$C$6" = 09/02/2017
ma date de retour "$D$6" = 13/02/2017

le nombre donné en "$H$6", avec ma formule sera égale à 3, alors qu'elle devrait être égale à 1

j’espère avoir été assez clair dans mon raisonnement.

merci encore de votre aide

titi32600

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour titi32600,

    Je pense que dans votre cas, le fait de soustraire 2 jours résoudra votre problème.
    Cela donne comme formule :
    =(NB.JOURS.OUVRES(C6;D6;ferie))-2

    En espérant avoir pu vous aider.

    Pensez à mettre le sujet en résolu si c'est le cas.

    JonDev

    À chaque problème sa solution
    1. Salut Jondev

      effectivement en faisant ton exemple, j’obtiens un bon résultat en H6.

      mais si mes cellules C6 ou D6, ne sont pas renseignées, j'obtiens -2

      titi32600
  2. Contributeur
    Bonjour,

    en fait, tu ne prend qu'un jour ouvré !

    le 09/02/2017 est un jeudi
    le 13 est un lundi

    d'après tes dires on ne compte pas la journée de départ indiquée (je pars le soir) ni le 13 (je retourne au boulot)
    donc il n'y a que le vendredi 10 de jour ouvré

    tu pourrais écrire:
    NB.JOURS.OUVRES(C6+1;D6-1;ferie))

     Michel
    1. Salut Michel_m

      avec ta formule, si les cellule C6 et D6, ne sont pas renseignées, le résultat en h6 =
      #NOMBRE!

      titi32600
    2. Contributeur
      Bonjour,

      Et bien tu les testes :
      =SI(NB(C6:D6)=2;formule;"")

      eric
    3. @eriiicSalut eriiic

      effectivement j'ai testé, et après avoir un peu réfléchi, j'ai repris la solution de michel_m, et ai transformé le résultat en :

      =SIERREUR(NB.JOURS.OUVRES(C6+1;D6-1;ferie);0)

      ainsi le résultat en H6 sera égale à 0, si les cellules C6 et H6 ne sont pas renseignées.

      merci encore

      Titi32600
  3. Réponse supprimée
    0
    1. Bonjour Titi326000,

      Il est vrai que cela ne sert à rien de s’énerver et qu'il faut essayer d'être le plus clair possible dans les explications de la demande.

      Juste un petit complément, avec la formule que vous utilisez, si vous ne renseignez pas la première date (date de départ en congé) vous vous retrouverez avec un nombre élevé au lieu de 0. Le nombre correspond au nombre de jours entre la date de retour et le 1er janvier 1900 (correspondant au champ vide dans la formule).

      Afin de pallier au problème, il faut utiliser une condition SI.
      Par exemple, si la valeur retournée dépasse 100 jours, elle retourne 0 ou vide (selon votre choix).

      Cela donnne :
      =SI(SIERREUR(NB.JOURS.OUVRES(C6+1;D6-1;ferie);0)>100;0;NB.JOURS.OUVRES(C6+1;D6-1;ferie))

      La condition du SI signifie que si le résultat de la fonction SIERREUR(NB.JOURS.OUVRES(C6+1;D6-1;ferie);0) retourne un nombre supérieur à 100 (vous pouvez changer la valeur), celle-ci retourne 0 (ou champ vide si vous remplacez le 0 par "") sinon elle retourne le résultat de la fonction NB.JOURS.OUVRES(C6+1;D6-1;ferie)

      En espérant avoir pu vous aider.

      Pensez à mettre le sujet en résolu si c'est le cas.

      JonDev
      À chaque problème sa solution