Calcul dans un calendrier un peu spécial...

Patrick_Francis

XLDnaute Nouveau
Salut à tous !

N'ayez pas peur de la longueur du texte, c'est en fait pas si terrible, et je suis sur que pour bon nombre d'entres vous, c'est 3 secondes et demies a resoudre ;)

J'ai besoin de faire un calcul un peu particulier dans un calendrier un peu spécial et je n'y arrive pas...

En fait, j'ai mis dans la colonne A les dates du 1er janvier 2009 au 31 décembre 2009.

Ensuite, dans la colonne B, j'ai fait apparaître le nom du jour a coté de chaque date.

Dans la colonne C, pour chaque samedi et chaque dimanche, j'ai écrit le mot "Ferié". En plus, j'ai écrit également ce mot pour chaque jour férié officiel en suisse... (ca en fait 8 de plus quoi, rien de terrible...!)

Voilà, la situation est posée.

Ce que je voudrais faire maintenant, c'est prendre n'importe laquelle de ces dates (colonne A), et y ajouter 12 jours (si si, précisément 12 jours - c'est pour le boulot), mais je voudrais que ces 12 jours soient calculés selon les dates de la colonne A, mais que quand il trouve le mot "Férié" à côté, qu'il ne le compte pas dans ses 12 jours.

Exemple : je pars du 7 janvier, qui est un mercredi. Le lendemain, jeudi, ca fait 1 jour. Le lendemain, le vendredi, ca fait 2 jours. Puis vient le samedi et le dimanche, mais comme il est écrit "Férié" à coté, il ne les compte pas. Ce qui fait que le 3ème jour calculé sera le lundi qui suit, et si ce lundi est un jour férié, et que par conséquent il est aussi noté "Férié" a coté, alors la le 3ème jour calculé sera le mardi 13 janvier. Et ainsi de suite, jusqu'a ce que l'on obtienne 12 jours effectif de travail, sans week-end et sans jour fériés..

MAIS J'Y ARRIVE PAS, GRRRR, ON Y A PASSE UN TEMPS PAS POSSIBLE ! :confused:

Merci 1'000'000 fois d'avance si on peut m'aider...!
 

Pièces jointes

  • calendar.xls
    30 KB · Affichages: 135
  • calendar.xls
    30 KB · Affichages: 138
  • calendar.xls
    30 KB · Affichages: 139
Dernière édition:

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Ah oui désolé ça c'est ma faute, je n'ai pas précisé qu'en effet, vu qu'on intègre cela dans un fichier qui contient des données de 2008, j'ai été obligé de rajouter dans la colonne A les dates de 2008.

Moi je ne trouve pas qu'elle soit lente, je tape 2 dates et j'ai automatiquement le résultat...? Moi ça me va.

Cela dit, j'ai fait un essai :
expedie : 01.01.2008
recu : 29.01.2008
delai : 19

Seulement, du 01.01.2008 au 29.01.2008, il y a 20 jours, pas 19... Je sais pas, j'ai refait 2 fois le calcul pour être sur, je trouve bien 20, mais lui affiche 19.

As-tu une idée ?

Patrick.
 

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Re,

Je voudrais vraiment pas être désagréable Pierrejean, mais sur les 5 tests affichés en colonnes G-H-I, il y en a 2 qui ne sont pas corrects.

Je te re-joins le fichier, je me suis juste permis de mettre en rouge les 2 qui ne jouent pas.

Anyway, c'est très sympa à toi de prendre tout ce temps...! :(
 

Pièces jointes

  • Book2.zip
    22.8 KB · Affichages: 31
  • Book2.zip
    22.8 KB · Affichages: 23
  • Book2.zip
    22.8 KB · Affichages: 22

pierrejean

XLDnaute Barbatruc
Re : Calcul dans un calendrier un peu spécial...

Re

Veux-tu verifier STP
avec debut et fin incluses je pense que ça joue (vois les zones colorées)
 

Pièces jointes

  • 19_Book2.zip
    23.4 KB · Affichages: 21
  • 19_Book2.zip
    23.4 KB · Affichages: 22
  • 19_Book2.zip
    23.4 KB · Affichages: 20

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Alors j'ai testé mais justement, il ne doit pas compter le jour de départ comme jour 1. en partant du lundi 19, le premier jour à compter est le mardi 20...

C'est pour ca je pense, que je trouvais des différences. J'aurais effectivement pu te le dire plus tôt cela dit...
 

pierrejean

XLDnaute Barbatruc
Re : Calcul dans un calendrier un peu spécial...

Re

Si le 1er jour n'est pas inclus voila
Mais concernant le delai 19/01/2009 30/01/2009
je ne trouve pas 11jours !!!!
 

Pièces jointes

  • 19_Book2.zip
    23.5 KB · Affichages: 27
  • 19_Book2.zip
    23.5 KB · Affichages: 25
  • 19_Book2.zip
    23.5 KB · Affichages: 28

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

YESSS !

Cette fois, on est bons ! J'ai fais mes tests, ça marche nickel, ça fonctionne bien, tout est parfait.

Je te remercie très vivement pour l'intérêt que tu as porté à ce fichier, et le temps que tu as pris pour ça.

Voilà, maintenant, y a plus qu'a !

Merci 1000x

A bientôt !
Patrick.
 

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Pierrejean,

Je voulais juste te dire que j'ai intégré ton module dans mon fichier du boulot, et les calculs fonctionnent :D a l'envers :mad:

En fait expedie et recu sont inversés.

Imaginons, expedie le 27.01 et recu le 28.01 ca fait 1 jour, mais la ca me retourne "#VALEUR" par contre si je mets expedie 28.01 et recu 27.01 la ca me retourne bien 1 jour.

Etrange, qu'en penses-tu ? Crois-tu que je dois m'ouvrir les veines ou m'arracher les cheveux ?

P.
 

wilfried_42

XLDnaute Barbatruc
Re : Calcul dans un calendrier un peu spécial...

Bonjour patrick_francis, Bruno:), pierrejean:)

Bruno, le décalage vient du fait que si tu ajoutes un certain nombre de jours (nb samedi, dimanche, férié), le nombre ajouté peut donner une date qui elle même est un jour férié ou un jour non ouvré.

ton fichier en retour avec 2 formules matricielles en fonction de ton désir de compter ou pas le jour de départ.
en D1, la date de départ, en E1 le nombre de jours ouvrés à ajouter en colonne c, j'ai mis une formule qui ne sert que de vérification donc tu peux l'enlever.
 

Pièces jointes

  • calendar.xls
    38 KB · Affichages: 46
  • calendar.xls
    38 KB · Affichages: 53
  • calendar.xls
    38 KB · Affichages: 44

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Bonjour wilfried_42,

Merci pour ta réponse.
Malheureusement, je n'ai pas tout bien comprenu :eek:

En fait, je ne peux pas taper moi-même le chiffre 1 en face du jour de départ. Dans mon fichier final, j'ai la date de départ qui est en fait une date cible à laquelle on doit avoir reçu "normalement" le certificat. Mais cette date cible est calculée en fonction de la date de fabrication de notre produit.

En fait on a 2 dates :

Date 1 : Date de fabrication, disons 9 janvier, à partir de là, notre fournisseur a 12 jours (ouvrables) pour nous envoyer le certificat. Donc il doit nous l'avoir envoyé au plus tard le 27 janvier. Jusque là c'est bon, le problème que j'avais pour compter les jours ouvrables a été résolu par Pierrejean :)

Le 27 janvier est donc cette date cible dont je parlais plus haut.

Date 2 : Admettons que je reçoive ce fameux certificat en retard, par exemple le 3 février, donc 5 jours ouvrables trop tard. Je vais encoder dans le fichier la date du 3 février.

Voilà, donc la Date 1 est automatiquement calculée, et la Date 2 est encodée par moi-même. Et ce que je voudrais c'est qu'au moment ou j'encode la date de reception de ce certificat (la Date 2), j'aie dans la cellule d'à côté le nombre de jours ouvrables entre le 27 janvier et le 3 février qui s'affiche. En l'occurence, 5. (les 5 jours ouvrables de retard).

C'est donc pour ça que je ne peux pas avoir à encoder moi-même la date cible, comme tu l'as fait en mettant le chiffre 1 à côté du 7 janvier. (Puisque c'est déjà fait automatiquement).

J'espère que je ne suis pas trop compliqué dans mes propos, c'est bien sympa à vous tous de m'aider dans cette quête de la formule parfaite :(

Merci d'avance si qqun arrive à tourner dans Excel tout ce que je viens d'écrire ;)

Pat.

PS : J'ai oublié de préciser 2 petites choses. Il est tout à fait possible également que le fournisseur nous envoie le-dit certificat avec de l'avance, par exemple le 23 janvier, donc 2 jours ouvrables avant la date cible. Et il faudrait que la formule puisse calculer dans ce sens-là aussi...

et 2ème petite chose que j'ai oublié, c'est que l'on ne compte pas le jour de départ, pour le calcul.
 
Dernière édition:

wilfried_42

XLDnaute Barbatruc
Re : Calcul dans un calendrier un peu spécial...

re:

en reprenant l'exemple que je t'ai envoyé ton fichier en retour, en fonction de ce que j'ai compris.
 

Pièces jointes

  • calendar.xls
    44.5 KB · Affichages: 52
  • calendar.xls
    44.5 KB · Affichages: 55
  • calendar.xls
    44.5 KB · Affichages: 53

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Merci willfried, désolé pour ma reponse tardive j'ai du laisser de coté quelque peu ce fichier pendant un temps. maintenant je vais pouvoir plancher dessus et je n'hésiterai pas à revenir vers toi si il y a quelque chose. mais à ce que j'ai vu, la formule est intéréssante, et, aussi surprenant soit-il, j'ai réussi à la déchiffrer et la comprendre :)

P.
 

Patrick_Francis

XLDnaute Nouveau
Re : Calcul dans un calendrier un peu spécial...

Bon, j'ai regardé, et j'ai une ou deux petites questions sur tes formules :

Tout d'abord concernant le calcul de la date cible (avec la formule "SMALL"), je ne comprends pas bien ce que veut dire 9^9 ? Sinon ça semble ok mais je bloque un peu la dessus.

Concernant la deuxième formule, la "SUMIF", je l'ai décortiquée, et j'ai essayé d'y intégrer la possibilité que le certificat arrive avant la date cible. Voilà la formule à laquelle je suis arrivé, regarde, rigole un bon coup, et redis-moi qu'est-ce qu'il fait que ça ne marche pas (j'obtiens 0 partout) :

=IF(H1>=F1;SUM(IF(A1:A366<F1;0;IF(A1:A366>H1;0;IF(WEEKDAY(A1:A366;2)>5;0;IF(C1:C366="FERIE";0;1)))));IF(H1<=F1;SUM(IF(A1:A366<H1;1;IF(A1:A366>F1;0;IF(WEEKDAY(A1:A366;2)>5;0;IF(C1:C366="FERIE";0;1)))));""))

Ah encore une chose, quand on tire ta formule, dès la deuxième rangée, ca ne prends plus en compte tout le calendrier A1:A366 mais A2:A367 idem avec le calcul de la date cible...

Merci d'avance pour ta réponse :eek:
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16