Durée négative en VBA

Bonjour le Forum,

Je voulais savoir s'il exister une fonction vba qui calcul la durée de temps entre deux heures

J'ai utilisé la fonction DateDiff sauf que si le résultat négative ne me convient pas, par exemple :

Datediff("h","13:09","03:45")=(-10) alors que j'ai besoin de 15 comme résultat puisque 13:09 ( Jour J) et 03:45 (Jour J+1).

Je peux pas non plus ajouter les dates.

J'utilisais aussi la formule Excel MOD qui fonctionne parfaitement sauf que là je peux pas créer a chaque fois une feuille pour faire le calcul.

Si vous avez des propositions, je suis preneur.

Merci

Bonjour,

Tu as intérêt à affecter tes heures à des variables, ajouter 1 si le jour a changé et faire simplement la soustraction.

Cordialement.

Merci MFerrand pour ta réponse,

Les heures sont déjà affecter a des variables c'etait juste pour donner un exemple

Sauf qu'il sont en format "hh:mm:ss" et pour ajouter 1 je dois changer le format des heures dans tout le programme en format standard puisque je peux pas ajouter 24:00:00.

Mais bon si j'ai pas le choix, c'est bien ce que je vais faire.

Tu ne t'occupes pas du format des heures, les heures sont des nombres décimaux. le format ne sert qu'en format de cellule pour l'affichage, et en VBA pour faire reconnaître comme données de type Date une valeur passée sous forme de chaîne.

Si tes données sont bien reconnues comme valeurs horaires, tu peux ajouter 1 sans réfléchir !

NB- Il est de toute façon plus sûr d'avoir des données dates-heures en valeurs numériques, lorsque tu dois afficher, tu utilises Format qui te renvoie une chaîne, mais pour les manipulations et l'affectation finale, il y a moins de risques.

Cordialement.

Re,

C'est Vrai, t'as raison.

J'ai modifié comme cela DateDiff("h", HFS, HPS1 + 1) et ça marche.

Merci encore et bonne fin d’après midi.

Rechercher des sujets similaires à "duree negative vba"