Calculer différence de date avec heure en heure en VBA

Bonjour à tous,

J'espère que vous allez bien si vous lisez ce message :)

Je viens vers vous car je mets en place un suivi de production de maquette avec entrée et sortie. Lorsqu'on fait entrer une maquette la colonne date d'entrée se remplit automatiquement ainsi que l'heure d'entrée. Pareillement lors de la sortie. Ainsi, mon objectif et de pouvoir calculer en heure la différence de ces dates et heures d'entrées et sorties avec des spécificités. En effet, j'aimerai calculer cette différence en retirant les heures ou la production est fermée ou en pause = De 22h00 à 5h30 (fermé) et de 13h30-14h30 (changement de tour).

J'ai tenté quelques codes mais sans succès. Auriez-vous des idées ?

Vous pouvez trouver en pièce jointe mon fichier excel avec mes macros.

Bien à vous,

Re bonjour,

Je viens de répondre à ma question mais avec une formule excel directement cependant je remarques certaines erreurs selon les dates. Parfois la différences est mal calculé... cf cellule L13 la différence n'est pas bonne.

Quelqu'un aurait une idée du prb de la formule ?

Bien à vous,

Bonjour,

A la place Heure format cellule

Test format personnalisé [hh]:mm:ss c'est sup à 24 h

Slts

Bonjour,

Merci beaucoup ça fonctionne mieux maintenant !

Cdlts

Re,

Cependant vous savez comment rajouter le changement de tour de 1h de 13h30 à 14h30 dans mon calcul ? Car étant donnée que personne ne travaille à ce moment là, j'aimerai que mon calcul le prenne en compte. Car si je fais une entrée à 13h00 et une sortie à 16h00 celui ci va compter un leadtime de 3h alors qu'en réalité il est de 2h.

J'espère avoir été suffisamment clair.

Bien à vous,

Bonjour

Non désolé rien compris dans ta demande

Cordialement

Bonjour,

=NB.JOURS.OUVRES(ENT([@[Date Entrée]]);ENT([@[Date Sortie]]);Ferie)*(_fapm-_dapm+_fmat-_dmat)
-SI(NB.SI(Ferie;ENT([@[Date Entrée]]))>0;0;MAX(0;MIN(MOD([@[Date Entrée]];1);_fmat)-_dmat)+MAX(0;MIN(MOD(A11;1);_fapm)-_dapm))
-SI(NB.SI(Ferie;ENT([@[Date Entrée]]))>0;0;MAX(0;_fmat-MAX(MOD([@[Date Sortie]];1);_dmat))+MAX(0;_fapm-MAX(MOD([@[Date Sortie]];1);_dapm)))

avec les paramètres

Début05:30_dmat
Fin matin13:30_fmat
Début apm14:30_dapm
Fin apm22:00_fapm

désolé, j'ai dû retoucher la forme pour y travailler sur mon écran de 10"

Bonjour Steelson,

C'est génial merci beaucoup d'avoir pris du temps pour m'aider !!

C'est exactement ça, top !!

Cdlts

Rechercher des sujets similaires à "calculer difference date heure vba"