Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Calcul de TIME CODE via XCEL

Pabman

XLDnaute Nouveau
Bonjour,

Dans le cadre d'un travail en post production j'aurais besoin d'automatiser mes calculs de Timecode.
A savoir que le time code s'exprime en hh:mm:ss:i/s (heure/minute/seconde/images par seconde).
Ainsi, j'aurais besoin de faire des soustractions tel que : 01:01:05:00 - 01:00:55:09 = 00:00:09:15
Mais j'ai énormément de TC à calculer alors j'aimerais pouvoir trouver une formule via excel.
Sachant que ma difficulté se trouve dans le fait que 1 seconde = 24 images.
Pouvez vous m'aider s'il vous plait ?
Je vous remercie d'avance
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Pabman et bienvenue sur XLD ,

Cette formule est incomplète , voir la nouvelle formule ICI .

Pas certain d'avoir tout compris :
Si A2 contient 01:01:05:00 et si B2 contient 01:00:55:09 alors en C2 mettre la formule :
VB:
=TEXTE(GAUCHE(A2;8)-GAUCHE(B2;8);"hh:mm:ss")& ":" & DROITE(A2;2)-DROITE(B2;2)+SI(DROITE(A2;2)-DROITE(B2;2)<0;24;0)
 
Dernière édition:

Pabman

XLDnaute Nouveau
Bonjour Mapomme je te remercie.
Cependant je ne tombe pas que le même résultat car on est censé tomber sur un résultat de soustraction égal à 00:00:09:15 et avec la formule on tombe sur 00:00:10:15 il y a donc un écart de 1seconde qui n'est pas négligeable...
Je ne comprends pas...
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,

Voici une autre formule en C2 (à vérifier) :
VB:
=TEXTE(GAUCHE(A2;8)-GAUCHE(B2;8)-SI(DROITE(A2;2)-DROITE(B2;2)<0;"0:0:1";0);"hh:mm:ss") & ":" & TEXTE((DROITE(A2;2)-DROITE(B2;2)+SI(DROITE(A2;2)-DROITE(B2;2)<0;24;0));"00")
 

Pièces jointes

  • Pabman- Delta time code- v2.xlsx
    11.7 KB · Affichages: 4

Dranreb

XLDnaute Barbatruc
Bonjour.
J'utiliserais clairement ces deux fonctions perso en VBA :
VB:
Option Explicit
Function TimeCode(ByVal Frames As Long) As String
   TimeCode = Format((Frames \ 24) / 86400, "hh:mm:ss") & ":" & Format(Frames Mod 24, "00")
   End Function
Function Frames(ByVal TimeCode As String) As Long
   Dim TJn() As String
   TJn = Split(TimeCode, ":")
   Frames = Int(TimeSerial(TJn(0), TJn(1), TJn(2)) * 86400 + 0.5) * 24 + TJn(3)
   End Function
 

Pièces jointes

  • TimeCodePabman.xlsm
    17.8 KB · Affichages: 1
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re,
Bonjour @JHA , @Dranreb ,

Une version v2compar qui compare des résultats de la formule de mapomme (2° version) avec les fonctions personnalisées de @Dranreb (conversion en 1/24ème de seconde, non ?).
Les résultats semblent identiques .
 

Pièces jointes

  • Pabman- Delta time code- v2compar.xlsm
    18.6 KB · Affichages: 6
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Une autre proposition (mais c'est quasiment la même chose que mapomme) :
Code:
=TEXTE(GAUCHE(A1;8)-GAUCHE(B1;8)-(DROITE(A1;2)<DROITE(B1;2))/86400;"hh:mm:ss") &":"& DROITE("0" & MOD(DROITE(A1;2)-DROITE(B1;2);24);2)

Passer le calendrier en 1904 si B1 doit être supérieur à A1.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…