Microsoft 365 Calcul durée entre deux dates

Clervie

XLDnaute Nouveau
Bonjour,

J'aimerais savoir comment trouver la durée entre ces deux dates et heures dans Excel :

Mar/15/2023 13:46:13 +01:00 Mar/16/2023 17:50:22 +01:00

Pourriez-vous m'aider à créer une formule?
Merci
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Clervie, et bienvenu(e) sur XLD,
"Mar/15/2023 13:46:13" n'est pas une date. Je pense qu'il manque le mois comme "Mar/15/06/2023"
Sinon si en A1 vous avez 15/06/2023 13:46:13 et en A2 16/06/2023 17:50:22 , la durée est alors simplement : =A2-A1 et vous mettez le format personnalisé [h]:mm:ss et vous obtenez : 28:04:09.
 

merinos

XLDnaute Accro
Bonjour @Clervie ,

En fait les dates dans excel sont des nombres.

La partie entière montre le nombre de jours depuis le premier janvier 1900 ...
La partie décimale montre la fraction de jour (6h = 1/4 de jour; 11h = 11/24 de jour)

donc entre 2 dates et heures, il suffit de faire un difference

et on peut utiliser le visuel pour montrer les jours, heures et minutes.
 

Pièces jointes

  • ecrire le temps.xlsx
    29.4 KB · Affichages: 2

patricktoulon

XLDnaute Barbatruc
re
bonsoir
Mar/15/2023 13:46:13 +01:00
c'est une blague 🤣

si c'est le mois "mar" alors il n'y a pas de règle
ça sera de la bidoulle avec droite gauche equiv cnum etc....
du genre ça pour reconstruire la date
VB:
=DATE(STXT($A4;8;4);EQUIV(GAUCHE(A4;CHERCHE("/";A4;1)-1);{"Jan";"Feb";"Mar";"Avr";"Mai";"jun";"Jul";"Aou";"Sep";"Oct";"Nov";"dec"};0);STXT($A4;5;2))+CNUM(DROITE(A4;9))
 

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Mar/15/2023 13:46:13 +01:00 Mar/16/2023 17:50:22 +01:00
Ceci est-il ce qu'une cellule affiche ou ce qu'elle contient ?





Code:
=DATE(STXT($A4;8;4);EQUIV(GAUCHE(A4;CHERCHE("/";A4;1)-1);{"Jan";"Feb";"Mar";"Avr";"Mai";"jun";"Jul";"Aou";"Sep";"Oct";"Nov";"dec"};0);STXT($A4;5;2))+CNUM(DROITE(A4;9))
J'ai comme un doute pour "Avr" et "Mai". 😉

Tu n'aimes pas les mois de juin et de décembre ??? 😂
 

patricktoulon

XLDnaute Barbatruc
re
bonjour toofatboy
hah oui c'est vrai c'est en anglouglouwish
Code:
=DATE(STXT($A4;8;4);EQUIV(GAUCHE(A4;CHERCHE("/";A4;1)-1);{"Jan";"Feb";"Mar";"Apr";"May";"jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"};0);STXT($A4;5;2))+CNUM(DROITE(A4;9))

en francais remplacer
par
VB:
{"Jan";"Fev";"Mar";"Avr";"Mai";"juin";"Juil";"Aou";"Sep";"Oct";"Nov";"Dec"}
mais bon problème avec juin et juillet pour 3 lettres
c'est pour ca que j'utilise cherche"/"
 

TooFatBoy

XLDnaute Barbatruc
Et avec les accents : Fév, Aoû, Déc 😉



3 lettres 4 lettres, mois en anglais ou en français, etc. Vraiment ce format utilisé n'est pas ce qui se fait de mieux et de plus pratique...

Mais est-ce le contenu de la cellule ou simplement ce qu'elle affiche ?
La question reste posée, même s'il est probable que ce soit son contenu, venant d'une source extérieure.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
Bonjour Bonjour
Mar/15/2023 13:46:13 +01:00 Mar/16/2023 17:50:22 +01:00
a mon avis c'est du string importé

bon ben on va faire avec
je vous laisse modifier l'array des mois à votre convenance
allez une tite fonction perso facon patosh
Code:
Function DuréeDiFf(cel1 As String, cel2 As String)
    Dim M, T1, T2, H1 As Date, H2 As Date
    M = Split("Janv,Feb,Mar,Apr,May,Jun,Jul,Aou,Sep,Oct,Nov,Dec", ",") 'array à adapter
    T1 = Split(Trim(cel1), "/")
    T2 = Split(Trim(cel2), "/")
    T1(0) = Application.Match(T1(0), M, 0)
    T2(0) = Application.Match(T2(0), M, 0)
    H1 = Split(cel1, "+")(1)
    H2 = Split(cel2, "+")(1)
    T1 = (CDate(Format(Split(Join(T1, "/"), "+")(0), "dd/mm/yyyy hh:mm:ss"))) + TimeValue(H1)
    T2 = (CDate(Format(Split(Join(T2, "/"), "+")(0), "dd/mm/yyyy hh:mm:ss"))) + TimeValue(H1)
    DuréeDiFf = Application.Text((T2 - T1), "[hh] "" H ""mm"" mn ""ss"" sec""")    '"[hh]:mm:ss"
End Function
Sub test()
    MsgBox DuréeDiFf([b3], [b4])
End Sub
1703241075129.png
 

Pièces jointes

  • duréediff v patricktoulon fonction perso .xlsm
    17.7 KB · Affichages: 2

Discussions similaires

Réponses
15
Affichages
410
Réponses
2
Affichages
519

Statistiques des forums

Discussions
312 210
Messages
2 086 277
Membres
103 170
dernier inscrit
HASSEN@45