Difference entre 2 dates et heures

Bonjour

J'ai un tableau excel a 4 colonnes - 1 Pour la date de départ- 1 pour l'heure de départ - 1 pour la date d'arrivée - 1 pour l'heure d'arrivée. Je sou haite pouvoir calculer le temps en minutes entre ces 2 dates et heures en excluant les samedi dimanche mais aussi en excluant les tranches horaires apres 17 h30 et avant 9 h du mat. Par exemple date et horaire depart Vendredi 17h30 - Date et horaires arrivée Lundi 10 = resultat : 60 mn.

Une idée avant que j em'arrache mes derniers cheveux?

Bonjour, Bienvenue

Une idée avant que j em'arrache mes derniers cheveux?

Oui, envoie ton fichier ou un exemple au format Excel 97-2003.

Pour cela, regarde joindre un fichier, en haut de cette page.

Cordialement

Salut le forum

JPB comme nouveau membres

Pour simplifier ton envois du fichier, tu n'as qu'à cliquer sur ce lien : Joindre un fichier pour que l'on puisse t'aider, et recopier l'adresse sur ta ficelle.

Mytå

Bj a tous ,

Comme il me reste encore pas de cheveux ,(en majorité blancs ...c'est vrai)

J'ai cherché une solution a ton problème.

Regarde si le fichier joint te convient:

https://www.excel-pratique.com/~files/doc/calcul_temps_simp..xls

A te relire

La réponse de Haonv semble être la piste qui m'intéresse; merci beaucoup pour le travail. Pour autant, plusieurs choses m'étonnent:

  • Sur la ligne 4, pour moi le résultat devrait être 9 h et pas 0 h puisque le retour se fait le lendemain (2,5 heures le 3/1 jusqu’à 17h30 – 6,5 heures le 4/1 de 9 h a 15h30)
  • Plus inquiétant, dès que je change les dates ou les heures, le calcul ne se fait plus.
je n’ai pas changé les formats pourtant. Mais, une info, mon Excel est en anglais, s’agit-il d’un problème de traduction des formules ?

Le fichier que je dois traiter est un fichier mensuel (mis en pièces jointe), il faudra donc que je puisse coller la ou les formules tout les mois dessus pour faire les nouveaux calculs.

On approche, mes cheveux repoussent,…

Merci beaucoup

Dans l’attente

https://www.excel-pratique.com/~files/doc/Test_Turnaround_time.xls

bj a tous

pour JPB

"le calcul ne se fait plus" :Regarde dans "outil -option -calcul :automatique doit etre coché.(chez moi ,les calculs marchent)

Ce n'est peut etre que cette option a changer.

"Sur la ligne 4, pour moi le résultat devrait être 9 h et pas 0 h puisque le retour se fait le lendemain (2,5 heures le 3/1 jusqu’à 17h30 – 6,5 heures le 4/1 de 9 h a 15h30)":

pour moi le résultat doit etre de 0h,si j'ai bien compris ce que tu voulais.Le 3/1 et le 4/1 sont des samedis et des dimanches.

A te relire

Tu as tout a fait raison pour le calcul entre les 2 dates du samedi/ Dimanche - Ca doit bien faire 0.

Donc tout tes calcul sont bons, seul gros bemol, des que je change certaines valeurs (date ou heures) ca me marque #NOM?. J'ai verifié l'option que tu demandes, elle est bien cochée. J'ai revalidé les formats, tout semble ok. J'importe ta formule sur mon fichier, ca marche sur 4 lignes (pas les premeires d'ailleurs) sur les autres lignes ca ne marche pas.

Je vais essayer de le tripoter dans tous les sens et même de voir si c'est mon ordi qui pose pb, j'essaye de revenir vers toi ce soir.

Merci d'avance en tout cas

re

je pense que tu fais un copier coller qui engendre des erreurs.

le plus simple à faire , je pense.

Si nos fichiers ont les mêmes colonnes :

  • tu copies la ligne (A3:F3) sur mon fichier
  • tu sélectionnes (A3) sur ton fichier et "coller"
  • tu sélectionnes (A3:F3) sur ton fichier ,et tu étires vers le bas.
  • Tu ne peux pas etirer vers le haut si tu veux copier aussi en ligne 2.Un copier coller de la ligne 3 sur la ligne 2 suffit.

Si nos fichiers n'ont pas les mêmes colonnes :

  • Ajoute ou déplace des colonnes sur mon fichier pour qu'il est la meme disposition que le tien.(les formules s'ajusteront seules )
  • ensuite tu peux copier coller les 6 colonnes ,une par une ,de mon fichier sur le tien .(meme celles des saisies, comme cela tu seras sur du format)

Ensuite tu peux effacer les données dans les colonnes a;b;c d ;

Lors des saisies des dates et des heures , saisis bien les caractéres ":" et "/".c'est peut etre cela qui te créé des erreurs.(Si tu tapes "22" pour "22heures" , tu auras une erreur.Il faut que tu tapes "22:00")

Ca y est, j'ai trouvé.

En decomposant ta formule, je me suis apercue que c'est la syntaxe NB.JOURS.OUVRES que mon excel ne comprend pas. Lorsque je la remplace par NETWORKDAYS, ca marche, y compris lorsque je change des dates et heures.

Ca me fait pas comprendre comment une formule qui marche chez toi ne fonctionne pas sur un autre excel (mais ca doit être les Aléas de MRicorsoft), mais au moins ca marche.

Merci beaucoup pour ta precieuse aide

Bonjour, salut haonv

J'arrive aprés la bataille.

Je propose une solution par formule unique qui calcule à la seconde prés, au format [h]:mm:ss utilisable ainsi qu'une formule qui rend la tienne utilisable dans les calculs (à deux ou trois exceptions près pour la tienne)

https://www.excel-pratique.com/~files/doc/BigksTest_Turnaround_time.xls

Cordialement

Bonjour ,salut Amadeus,

Très heureux que tu arrives après la bataille :si tu étais arrivé plus tot, je n'aurais pas eu le temps de chercher ....

En plus tu corriges mes formules .Ca va me permettre de progresser sur ces formats horaires un peu difficiles a manipuler ,enfin pour moi.

C'est vrai que je n'avais pas pensé aux 9 premières minutes qui posent problème.

En plus ,comme j'employais 35/48 pour 17H30,une petite erreur était générée ,ce qui justifie "arrondi" en I.(qui arrondi 59,999 a 60).

Si j'ai bien compris en prenant "tempsval(xx:xx:xx)"tout les calculs sont faits a la seconde pres.Ce qui évitent toutes ces approximations .

merci et a bientot sur le forum

Haonv,

Un tout grand merci pour ta formule sur la différence entre date et heure. Je voulais savoir comment faire pour avoir la meme chose mais sans prendre en compte la contrainte des heures de travail ?

Donc, l'idée est de juste avoir pour contrainte les we

Merci d'avance


Haonv,

Donc pour toi, la formule d'Amadeus est plus complete mais comme je travaille sur un excel en anglais, je voulais savoir par quoi je dois remplacer début_jour et fin_jour ?

Merci !

Rebonjour,

Finalement j'ai trouve pour début_jour et fin_jour.

Je voudrais donc juste savoir cmt on pourrait la formule pour:

Soit 1) changer les horaires et mettre par exemple début du jour à 8h et fin a 18h. Car quand je change le name, le résultat n'est plus correct. Je suppose qu'il y a donc qqn a faire dans la formule ?

Soit 2) Retirer carrément cette contrainte d'horaire journalier et n'exclure que les we.

Merci beaucoup

Bonjour à tous,

Même des années après le pb est d'actualité!

J'ai regardé vos fichiers mais mon problème est un poil différent. La seule contrainte serait le week end enfait c'est ce que demandait "cvo" mais il n'a pas eu de réponse donc je relance le sujet.

Je ne demande pas forcément une formule toute faites, si on m'explique la formule je peux l'adapter mais elle est tellement longue pour le cas de "JPB" que je ne m'y retrouve pas.

Merci par avance.

Bonjour,

A mon avis, tu ferais mieux d'ouvrir ton propre sujet, de joindre un fichier illustrant ta configuration et indiquant ce que tu attends.

Cordialement.

Bonjour,

Merci de votre suggestion, enfait je pense avoir réussis à adapter la formule.

Je vous joint la trame du fichier pour ceux qui veulent y jeter un oeil et vérifier ou même l'utiliser.

Cordialement

15essai.xlsx (15.94 Ko)

Bonjour,

Encapsule ta formule avec SIERREUR(____________________;"")

=SIERREUR(NB.JOURS.OUVRES(A4;H4)*TEMPSVAL("12:00:00")-(SI(NB.JOURS.OUVRES(A4;H4)=1;SI(ET(JOURSEM(A4)>1;JOURSEM(A4)<7;B4>Debut_Jour);B4-Debut_Jour;0)+SI(ET(JOURSEM(H4)>1;JOURSEM(H4)<7;I4<Fin_Jour);Fin_Jour-I4);0)+SI(NB.JOURS.OUVRES(A4;H4)>1;+SI(ET(JOURSEM(A4)>1;JOURSEM(A4)<7;B4>=Fin_Jour);TEMPSVAL("12:00");SI(ET(JOURSEM(A4)>1;JOURSEM(A4)<7;B4>=Debut_Jour;B4<=Fin_Jour);B4-Debut_Jour;0))+SI(ET(JOURSEM(H4)>1;JOURSEM(H4)<7;I4<=Debut_Jour);TEMPSVAL("08:00");SI(ET(JOURSEM(H4)>1;JOURSEM(H4)<7;I4>=Debut_Jour;I4<=Fin_Jour);Fin_Jour-I4))));"")

Bonjour Steelson,

Que doit me donner cette fonction ? car je viens de la tester mais mes résultats sont les mêmes.

En effet,

le problème est ton résultat est négatif ! et les heures négatives ne s'affichent pas ...

il faut donc d'abord tester ou alors

=NB.JOURS.OUVRES(A5;H5)*TEMPSVAL("12:00:00")-(SI(NB.JOURS.OUVRES(A5;H5)=1;SI(ET(JOURSEM(A5)>1;JOURSEM(A5)<7;B5>Debut_Jour);B5-Debut_Jour;0)+SI(ET(JOURSEM(H5)>1;JOURSEM(H5)<7;I5<Fin_Jour);Fin_Jour-I5);0)+SI(NB.JOURS.OUVRES(A5;H5)>1;+SI(ET(JOURSEM(A5)>1;JOURSEM(A5)<7;B5>=Fin_Jour);TEMPSVAL("12:00");SI(ET(JOURSEM(A5)>1;JOURSEM(A5)<7;B5>=Debut_Jour;B5<=Fin_Jour);B5-Debut_Jour;0))+SI(ET(JOURSEM(H5)>1;JOURSEM(H5)<7;I5<=Debut_Jour);TEMPSVAL("08:00");SI(ET(JOURSEM(H5)>1;JOURSEM(H5)<7;I5>=Debut_Jour;I5<=Fin_Jour);Fin_Jour-I5))))

Pas de soucis Steelson, j'ai ajouté la condition que si une date ou une heure est manquante le résultat sera non exploitable :

=SI(OU(A4="";B4="";H4="";I4="");"Non exploitable";NB.JOURS.OUVRES(A4;H4)*TEMPSVAL("12:00:00")-(SI(NB.JOURS.OUVRES(A4;H4)=1;SI(ET(JOURSEM(A4)>1;JOURSEM(A4)<7;B4>Debut_Jour);B4-Debut_Jour;0)+SI(ET(JOURSEM(H4)>1;JOURSEM(H4)<7;I4<Fin_Jour);Fin_Jour-I4);0)+SI(NB.JOURS.OUVRES(A4;H4)>1;+SI(ET(JOURSEM(A4)>1;JOURSEM(A4)<7;B4>=Fin_Jour);TEMPSVAL("12:00");SI(ET(JOURSEM(A4)>1;JOURSEM(A4)<7;B4>=Debut_Jour;B4<=Fin_Jour);B4-Debut_Jour;0))+SI(ET(JOURSEM(H4)>1;JOURSEM(H4)<7;I4<=Debut_Jour);TEMPSVAL("12:00");SI(ET(JOURSEM(H4)>1;JOURSEM(H4)<7;I4>=Debut_Jour;I4<=Fin_Jour);Fin_Jour-I4)))))

Ensuite avec une mise en forme, je fais apparaître les cellules où le résultat est non exploitable.

Merci pour tes suggestions.

A bientôt.

19essai.xlsx (16.07 Ko)
Rechercher des sujets similaires à "difference entre dates heures"