Comment traduire en VBA cette formule Excel

IAGO

XLDnaute Nouveau
Bonjour
je me demandais comment traduire la formule Excel suivante :
=TEXTE(ENT($a2-$A1);"00")&" jour(s) "&TEXTE(MOD($a2-$A1;1);"hh:mm")

Cette formule permet de restituer la durée entre 2 dates sous forme de jour heure et minute
Exemple :
date de debut : 30/11/2009 11:25:00
date de fin : 01/12/2009 17:05:00
La formule donne le résultat : 01 jour(s) 05:40

L'idée est d'introduire le calcul dans une macro qui effectue des extractions pour restituer une durée à partir des début et fin de certaines étapes.
Merci
Cordialement
 

jp14

XLDnaute Barbatruc
Re : Comment traduire en VBA cette formule Excel

Bonjour

Ci dessous un code à tester
B3 et a3 contiennent les dates
Code:
Dim date1 As Date

date1 = [b3] - [a3]
[C3] = date1


[d3] = DateDiff("d", [a3], [b3]) & " " & Format(date1, "hh:mm")


JP
 
Dernière édition:

Phil39

XLDnaute Occasionnel
Re : Comment traduire en VBA cette formule Excel

Bonjour,

Vous avez déjà probablement déjà testé mais l'enregistreur de macro donne cela :

ActiveCell.FormulaR1C1 = _
"=TEXT(INT(R[-8]C1-R[-9]C1),""00"")&"" jour(s) ""&TEXT(MOD(R[-8]C1-R[-9]C1,1),""hh:mm"")"
 

GLD5678

XLDnaute Nouveau
Re : Comment traduire en VBA cette formule Excel

Bonjour,
Il est préférable d'utiliser la fonction "DateDiff" comme l'indique jp14 pour le calcul d'écart entre dates; voici ma solution en une ligne de code :

[a3] = Format(DateDiff("d", [a1], [a2]), "00 jours(s) ") & Format(CDate([a2]) - CDate([a1]), "hh:mm")

J'espère que ça t'aidera,
Gilles
 

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 998
Membres
103 425
dernier inscrit
alainPontonnier