Renvoie valeur selon entre deux formats date

mmalzert

XLDnaute Occasionnel
Bonjour,

J'ai une liste de "date départ" et "date arrivée". En fonction de ces date avec heures, je cherche à déterminer si la période entre les deux correspond à un samedi, un dimanche ou à un jour de la semaine.
N'étant pas très à l'aise avec les calculs sur les formats date, je fais appelle au forum.

Je joins un fichier qui permet de mieux comprendre.
Merci de votre aide.
 

Pièces jointes

  • date.xls
    23.5 KB · Affichages: 46
  • date.xls
    23.5 KB · Affichages: 48
  • date.xls
    23.5 KB · Affichages: 53

vgendron

XLDnaute Barbatruc
Re : Renvoie valeur selon entre deux formats date

Salut,
bon pour l'instant, pas trop le temps de regarder,
mais je pense qu'il va falloir trouver une formule qui mixe les fonctions suivantes:
=joursem(B3;2) va te renvoyer 5 pour vendredi (ou 6 pour samedi ou 7 pour Dimanche)
= heure(B3) te renvoie l'heure; ici 19.0
= minute(B3) te renvoie les minutes...donc 30
et après. faut faire du si..
bon courage ;-)
 

mmalzert

XLDnaute Occasionnel
Re : Renvoie valeur selon entre deux formats date

Bonjour vgendron,

J'avais déjà pensé à ces fonctions mais je n'arrive pas à voir comment les traiter ensuite. Par une matrice ? Ca risque de faire beaucoup de si sinon..
J'attends de voir si d'autres ont des idées. Moi je vois pas trop. :/
 

Jocelyn

XLDnaute Barbatruc
Re : Renvoie valeur selon entre deux formats date

Bonjour le Forum,
Bonjour mmalzert, vgendron,

un essai en pièce jointe

Bonne année

Cordialement
 

Pièces jointes

  • date.xls
    24.5 KB · Affichages: 46
  • date.xls
    24.5 KB · Affichages: 46
  • date.xls
    24.5 KB · Affichages: 42

mmalzert

XLDnaute Occasionnel
Re : Renvoie valeur selon entre deux formats date

Bonjour Jocelyn,

Je viens de tester ta formule et je remarque une erreur pour le vendredi entre 19h30 et 00h00 (23h59) ou ca renvoie semaine et non samedi.
Sinon ça a l'air parfait.
Pourrais-tu me donner un bref explicatif de cette formule que je comprenne un peu. Tu te sers de mod() dans quel but ?
A quoi sert le 0.8125 ? Je suppose qu'il s'agit du reste de quelque chose ?

En tout cas merci.
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Renvoie valeur selon entre deux formats date

Salut Jocelyn
effectivement. plus simple que ce que je suis en train de chercher.. j'étais parti avec des sommeprod..etcetc

pour mmalzert: 0.8125, c'est la valeur au format standard de 19:30
 

Jocelyn

XLDnaute Barbatruc
Re : Renvoie valeur selon entre deux formats date

re,

bon j'ai corriger la formule pour le cas d'une fin le vendredi à 23h59, je pense que c'est bon.

toutes les parties joursem() permettent de gérer les jour de la semaine, mais ça je pense tu le savais.

Par contre mod() permet syur une date/heure donnée de ne conserver que l'heure qui est très importante pour toi puisqu'on y fait référence régulierement

quand en A1 par exemple on a 14/12/2012 19:30:00 (en format numérique bien sur) le joursem(A1;2) va renvoyer le numéro du jour (ici un vendredi soit 5) par contre il reste le soucis du 19:30 sachant que numériquement une journée complete est egal à 1 pour excel la fonction mod(A1;1) soit la division de la date par 1 va renvoyer le reste de cette division ici le 14/12/2012 19:30:00 est égal numériquement a 41257,8125 donc le résultat de la fonction mod(A1;1) = 0,8125 comme ca on peut tester si l'heure de la cellule A1 est supérieur ou égale ou non à 0,8125 soit en heure 19:30

Voila j'espère que c'est clair autrement n'hésites pas
 

Pièces jointes

  • date-1V1.xls
    25 KB · Affichages: 41

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal