IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Formule excel pour calculer des délais calendaires sans compter certains jours [XL-2013]


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut Formule excel pour calculer des délais calendaires sans compter certains jours
    Bonjour,

    J'ai longuement cherché sur le forum et sur le net la réponse à ma question, en vain...

    Je cherche à faire une formule excel pour calculer des délais calendaires, sans compter certains jours. Je m'explique : il faut que je compte un jour sur deux pour les mois de juillet et août, et ne pas compter les jours de la semaine entre Noel et le jour de l'an.
    Donc l'idée c'est de partir d'une date (exemple aujourd'hui) et ajouter par exemple 60 jours de délais en respectant les règles citées ci dessus pour ainsi afficher la date butoir.

    Une solution aurait pu consister à utiliser la fonction SERIE.JOUR.OUVRE.INTL, en définissant les jours à supprimer dans la partie [jours fériés] de la formule, mais les délais sont comptés en jours ouvrés ou ouvrables, alors que je souhaite les délais calendaires...

    En somme je souhaite avoir les mêmes fonctionnalités que cette formule SERIE.JOUR.OUVRE.INTL, sauf que je veux compter les week ends et personnaliser les "jours fériés" à exclure.

    Auriez vous une solution ?

    Merci par avance !

    Kanye64

  2. #2
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Bonjour et bienvenue au forum !
    Si tu as une liste de jours à ne pas prendre en compte, tu peux utiliser quelque chose come ça :
    Nom : sommeprod.png
Affichages : 2380
Taille : 9,2 Ko
    Tu fais le calcul date + 60 jrs et ensuite tu ajoutes le nombres de jours à ne pas prendre en compte qui tombent entre la date et la date + 60 jrs.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Bonjour riaolle,

    Merci pour la réponse réactive ! Après adaptation à mon fichier, la solution proposée se rapproche de ce que je souhaite mais ne correspond pas totalement.

    Rien de mieux qu'un exemple pour m'expliquer :

    Si ma date de départ est le 30/06/2017, et que mon délai est de 5 jours, la date d'arrivée doit être le 10/07/2017 (un jour sur deux neutralisés pour le mois de juillet : le 01/07/2017, le 03/07/2017, le 05/07/2017, le 07/07/2017 et le 09/07/2017 ne sont pas comptés).

    La formule proposée neutralise les jours entre le 30/06/2017 et le "30/06/2017 + 5" soit le 05/07/2017, donc la formule "oublie" de neutraliser le 07/07/2017 et le 09/07/2017, j'arrive donc à une date d'arrivée au 08/07/2017, soit 2 jours avant la date souhaitée (le 10).

    Aurais-tu une solution ?

    Merci par avance !

  4. #4
    Membre émérite
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Points : 2 813
    Points
    2 813
    Par défaut
    Ooooh oui, j'avais pas pensé au cas où en décalant la fin on tomberait sur de nouvelles dates interdites ...
    Je me rend compte que j'avais donné la même solution dans une autre discussion une mois auparavant...qui, du coup, est fausse aussi
    Si on regarde le problème, en fait on se rend compte que c'est un problème d'itération : quand on décale la fin de période on doit vérifier si on tombe pas à nouveau sur des dates interdites, si c'est le cas, on décale à nouveau et il faut regarder si on tombe encore sur des dates interdites etc ... Or Excel ne permet pas l'itération. Il faudra, donc, sans doute passer par une fonction personnalisée en VBA. Est-ce que tu connais un peu VBA ?

    PS : après peut-être que quelqu'un trouvera une autre idée faisable en Excel ... mais pour l'instant je sèche sur le purement Excel...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Je connais un peu VBA mais j'avoue que ce n'est c'est pas mon point fort, je préfère faire des formules (je fais moins de bugs )

    Sinon une autre solution serai de compter les jours de juillet et août en demi-jours, mais je ne trouve pas comment faire...

  6. #6
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    kanye64, tu n'as sans doute pas lu jusqu'à la fin la documentation Microsoft sur la fonction SERIE.JOUR.OUVRE.INTL ; tu te serais aperçu que la chaîne de caractères "0000000" utilisée comme argument Nb_jours_week-end permet de considérer tous les jours calendaires non contenus dans la plage Jours_fériés comme des jours ouvrés sans aucun jour de week-end et que du coup, cette fonction devient un outil possible pour traiter ton problème.
    Voici une proposition sans VBA.
    La date de départ est en A2 et le nombre de jours de délai en B2.
    Nom : jours calendaires.JPG
Affichages : 2517
Taille : 24,3 Ko
    Définir le nom fériés par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATE(ANNEE(Feuil1!$A$2);6;29)+2*LIGNE(Feuil1!$1:$39)*(LIGNE(Feuil1!$1:$39)<=31)+(LIGNE(Feuil1!$1:$39)>31)*(LIGNE(Feuil1!$1:$39)+147)
    Cette formule matricielle (même s'il ne faut pas la valider par Ctrl + Maj + Entrée) donne la liste des 31 jours à "sauter" en juillet - août suivie des 8 jours de la période allant de Noël inclus au jour de l'An suivant inclus.
    On peut alors mettre, par exemple en C2, la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SERIE.JOUR.OUVRE.INTL(A2;B2;"0000000";fériés)
    qui donne la date limite de livraison.
    Cette formule peut se recopier vers le bas pour d'autres dates de départ et d'autres nombre de jours de délai à la condition que toutes les dates de départ soient des jours de la même année que la date en A2 utilisée pour définir la plage fériés.
    Cordialement
    Claude

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2017
    Messages : 14
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Merci pour la réponse ! A vrai dire je ne crois pas avoir vu dans la note Microsoft cette option pour calculer les jours calendaires dans la formule SERIE.JOUR.OUVRE.INTL mais en tous cas ça fonctionne !

    Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formule excel pour calcul d'ecarts
    Par rosual69 dans le forum Excel
    Réponses: 10
    Dernier message: 07/07/2017, 15h12
  2. Formule excel pour lister des absents
    Par Maryem BN dans le forum Excel
    Réponses: 23
    Dernier message: 16/02/2016, 18h48
  3. Explication d'une formule Excel pour trier des doublons
    Par Max11121990 dans le forum Excel
    Réponses: 2
    Dernier message: 24/08/2015, 17h35
  4. [XL-2003] Formule Excel pour calculer une date (jour de la semaine)
    Par Myaka dans le forum Excel
    Réponses: 4
    Dernier message: 19/10/2011, 14h22
  5. [FORMULES] Formule pour calcul des marges
    Par termor dans le forum Excel
    Réponses: 8
    Dernier message: 15/07/2008, 17h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo