XL 2016 Calcul nombre de jours en fonction des dates

  • Initiateur de la discussion Initiateur de la discussion samimi94
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

samimi94

XLDnaute Occasionnel
Bonjour à tous,

Je bloque sur une formule de calcul sur un de mes fichiers et malgré diverses recherches je ne parviens pas à trouver la bonne.
En fonction d'une période entre deux dates (début et fin de contrat), je cherche à calculer le nombre de jours pour la période d'essai.
La règle est la suivante :
Deux jours par semaine dans la limite de 3 semaines si contrat inférieur ou égal à 6 mois.
1 mois pour pour les contrats supérieurs à 6 mois.
Ensuite je souhaiterai que la date de fin de période d'essai s'affiche automatiquement en fonction du nombre calculé précédemment.

Par avance merci pour votre aide.

Bonne journée à tous.

Samimi94
 

Pièces jointes

Re-bonjour Le Forum, Victor 21, Charles Exceller,

Merci beaucoup pour votre réponse. C'est tout à fait ce que je recherchais.
Juste pour comprendre, si vous avez du temps, je suis preneuse pour comprendre ces formules, du moins comment se fait le calcul.

Quoiqu'il en soit merci pour tout.

Bonne journée.

Samimi94.
 
Re-bonjour Le Forum, Victor 21, Charles Exceller,

Merci beaucoup pour votre réponse. C'est tout à fait ce que je recherchais.
Juste pour comprendre, si vous avez du temps, je suis preneuse pour comprendre ces formules, du moins comment se fait le calcul.

Quoiqu'il en soit merci pour tout.

Bonne journée.

Samimi94.
Personnellement, je préfère décomposer le problème en plusieurs étapes avant de fusionner le tout dans une formule.
  1. Ainsi, j'ai d'abord défini comment choisir entre + ou - 6 mois de contrat. (Comparaison des dates avec l'utilisation de la fonction : Mois.Decaler)
  2. Puis, calculer le nombre de semaine entre deux dates et ne prendre le nombre que s'il est inférieur à 3
  3. Le multiplier par 2 pour avoir le nombre de jour
  4. L'ajouter à la date de début du contrat
  5. Si le contrat est plus long, utiliser de nouveau la fonction mois.decaler calculer la date de fin de période d'essai.
En faisant dans des cellules les unes en dessous des autres, la décomposition est plus simple à comprendre. En plus, cela permet de voir les valeurs et s'assurer du bon calcul.
 
A tous,

Un grand merci pour votre contribution et partage de connaissances.
Encore un plus à rajouter dans mes légères connaissances Excel. Le chemin est encore long mais grâce à vous la progression est là.

Bonne journée à tous.

Samimi94.
 
Bonjour à tous,

Je reviens vers vous car je rencontre des difficultés avec les différentes options proposées.
Concernant la proposition de Victor21, lorsque je change les dates et que celles-ci sont inférieures à 6 mois, j'obtiens toujours 6 jours de préavis et non pas 2 si une semaine, 4 si 2 semaines et 6 si 3 semaines ou plus (jusqu'à 6 mois).
Concernant la proposition de Charles Exceller j'ai un souci avec la syntaxe _xlfn.DAYS quand je suis sur une période inférieure à 6 mois.
Enfin avec la proposition de Roblochon, j'obtiens des milliers de jours lorsque je suis au dessus de 6 mois.

Pourriez-vous m'aider à solutionner le problème SVP ?

A savoir :

Période de 1 semaine = 2 jours de préavis
Période de 2 semaines = 4 jours de préavis
Période de 3 semaines = 6 jours de préavis
Entre 3 semaines et 6 mois = 6 jours de préavis
Plus de 6 mois = 30 jours de préavis.

Merci à tous pour votre aide.

Samimi94
 
Bonjour,

En b3 du fichier du post #5 remplacer la formule existante par =SI(DATEDIF(B1;B2;"M")>6;JOUR(FIN.MOIS(B1;0));MIN(3;NO.SEMAINE(B2;2)-NO.SEMAINE(B1;2))*2)

La fonction retournera 30 ou 31 jour suivant le mois de départ concerné. Si ce doit être toujours 30 ou 31 pour les périodes > - mois
, remplacer 'JOUR(FIN.MOIS(B1;0))' par 30 ou 31

Les milliers était simplement la représentation numérique d'une date renvoyée par la précédente fonction.

A bientôt
 
Bonjour à tous, @samimi94
Concernant la proposition de Victor21, lorsque je change les dates et que celles-ci sont inférieures à 6 mois, j'obtiens toujours 6 jours de préavis et non pas 2 si une semaine, 4 si 2 semaines et 6 si 3 semaines ou plus (jusqu'à 6 mois).
Exact. Pardon 🙁 erreur de compréhension...
En B3 essayez : =SI((B2-B1)<=180;MIN(6;ENT((B2+1-B1)/3.5));30)
Cette proposition renvoie 2 jours d'essai par semaine complète dans la limite de 6 jours si 3 semaines et +, ou 30 jours d'essai à partir de 180 jours
 
Bonjour le Forum, Victor21,

Merci d'avoir repris le fil pour corriger la formule.

Bien que la solution apportée par Roblochon fonctionne parfaitement, j'ai testé ta correction afin d'apprendre les différentes possibilités offertes par Excel pour un même résultat.

Malheureusement, j'ai une erreur qui dit "champ introuvable" et dans la cellule j'ai : #CHAMP!
Lorsque j'évalue la formule l'erreur qui apparaît est : =Si(VRAI;MIN(6;ENT(119/#VALEUR!));30)

Merci encore pour votre partage et disponibilité.

Bonne soirée à tous.

Samimi94
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour