TC.XLA

TC.XLA 1.3 (avec Drop-Frame)

par Matthias Bürcher © 1997 - 2018
Freeware

Ce petit macro est destiné à tout le monde qui travaille dans la postproduction cinéma et vidéo et qui a besoin de faire des calculs de Time Code. Elle met a dispositions les fonctions nécessaires pour travailler avec le Time Code dans les feuilles de calculs Excel. On peut formater des chiffres en Time Code et on peut faire des calculs. Version 1.1. supporte maintenant NTSC drop frame et introduit une fonction de somme.

TC.XLAM 1.3b4 : Nous avons fait une version pour les Excel récentes.
http://www.belle-nuit.com/download/TC.xlam
Tout devrait être pareil, mais le raccourci pour installer les styles est command-option-shift-t.
Ce macro ne marche pas avec Excel 2008 pour Macintosh, car Microsoft n'a pas inclu VBA dans cette version du logiciel. Il marche avec les versions avant et après.
Dernière version testé: Excel 2016 pour Macintosh (16.16.27).

2.2.2018 1.3b4: Fix dropframe rounding error
13.8.2017 1.3b3: Fix dropframe (added ByVal as VBA modifified function parameters)

Ancienne version: Télécharger

Le fichier ne comprend que l'extension, veuillez sauver cette page-ci pour la documentation.

Article in english on TC.XLA: http://www.talino.org/blog/using-timecode-in-excel/

Installation

Après la décompression, vous avez le fichier TC.XLA. Ceci est un macro complémentaire qui fonctionne d'une manière transparente. Quand vous l'ouvrez, ceci n'ouvre pas un document. Par contre, il vous ajoute des nouvelles focntionalités que vous pouvez utiliser dans n'importe quel document. Pour tester si le macro est chargé, faites commande-option-TC. Ceci charge les formates et met un message en bas avec la version actuelle du macro.

L'extension a été écrit pour Microsoft Excel 4 pour Macintosh, mais elle fonctionne sans problème avec Excel 5 et avec Excel 4 et 5 pour Windows. Pour une utilisation temporaire, il faut ouvrir Excel, puis ouvrir "TC.XLA" ou bien double-cliquer sur "TC.XLA".

Pour une utilisation permamente, par contre, il convient mieux de le mettre dans un des deux dossiers prévus par Excel: La bibliothèque des macros. Après, il faut l'activer depuis Excel avec le menu Outils: Macro complémentaire.

Alternative: Mettez le fichier dans le dossier de démarrage dans Dossier système:Préferences. Vous l'y mettez et puis vous n'y occupez plus. L'extension est assez petite pour ne pas rallentir le fonctionnement d'Excel.

Si vous partagez vos feuilles de calculs avec d'autres gens, n'oubliez pas d'accompagner la feuille de calcul avec la "TC", sinon vos formules peuvent se trouver sans référence.

Utilisation

TC Extension travaille d'une façon transparente. Il y aura pas un fichier ouvert, mais il met à disposition un macro de formatage et des fonctions qui sont accessibles dans le menu Formule:Insérer fonction... Vous trouvez les fonctions ou bien dans le groupe Date et Heure ou bien dans l'ordre alphabétique de toutes les fonctions.

Macro de formatage

Si vous appuyez sur commande-option-T (Windows: ctrl-T), Excel crée un format de chiffre nommé "Time Code" qui a la forme 00:00:00:00 et l'applique sur les cellules sélectionnées. Ce formatage ne change ni caractère ni style de la cellule, il n'affectionne que le format chiffre. Une fois défini, vous pouvez aussi appliquer ce format par le menu des styles dans la barre des outils. Le format ne s'installe que dans le document actif.

NB: commande-option-T ne fonctionne pas sur toutes les versions d'Excel. Vous arrivez au même effet avec le format personnalisé 00\:00\:00\:00.

Pour les utilisateurs de NTSC, un deuxième format NTSC df est mis à disposition dans la format 00:00:00;00. Il se trouve aussi dans le menu style.

Si vous entrez des Time Code, vous avez pas besoin d'entrer les ":", puisque ce format le met automatiquement. P.e. 221108 est interprété comme 00:22:11:08.

Entrée des Time Code impossibles: Les fonctions ne testent pas si les Time Code sont possibles. A chaque position, les chiffres sont interprété par leur valeurs. Par exemple, 00:00:70:00 est interprété comme 70 secondes, veut dire 00:01:10:00. Vous pouvez utiliser cette fontion pour entrer des nombres d'images plus grandes que la seconde. En 25 fps, 80 est interprété comme 00:00:03:05.

En NTSC drop frame, les valeurs illégales sont réporté à la valeur la plus haute légale. Ainsi, 00:01:00;00 et 00:01:00;01 sont équivalent à 00:00:59;29. Pour activer le mode drop frame, indiquez dans les fonctions fps=29.97.

Fonctions de calcul

Tout les fonctions de calculs travaillent en mode 24 heures. Si le résultat du calcul est négatif ou bien s'il dépasse 24 heures, il est ramené aux limites 0-24 heures. P.e. 25:00:00:00 donne 01:00:00:00, et -00:00:02:00 donne 23:59:58:00.

fps indique le nombre d'images par secondes. Les fonctions du calculs travaillent avec 18, 24, 25 et 30 images par secondes, en fait, avec n'importe quelle rate de 1 à 99 images par seconde. Souvent dans la formule, l'indication le la rate d'images (fps) est facultative et la fonction prend la fps par défaut de 25.

Nouveau: NTSC: Entrez fps=30 pour Non-drop-frame et fps=29.97 pour drop-frame. Une routine s'occupe du calcul corrrect dans toutes les fonctions. Les valeurs illégales sont reporté à la valeur plus haute légale. Rappel des règles du drop-frame. Chaque heure, 108 images sont omis. C'est l'image 00 et 01 chaque minute sauf les minutes divisées par dix. Ainsi, le TC passe directement de 00:00:59:29 à 00:01:00:02. Pourtant, de 00:09:59:29, il passe à 00:10:00:00.

TCtoframes(TC;fps)

Donne le nombre d'images pour un Time Code donné.
L'indication de fps est facultative (défaut 25).
Si fps est 29.97, le Time Code est interprété en NTSC drop frame.
TCtoframes(00:00:02:05;24)=53
TCtoframes(00:00:02:05;25)=55
TCtoframes(00:00:02:05)=55

framestoTC(frames;fps)

Donne le Time Code pour un nombre d'images données.
L'indication de fps est facultative (défaut 25).
Si fps est 29.97, le Time Code est interprété en NTSC drop frame.
framestoTC(53;24)=00:00:02:05

TCplus(TC1;TC2;fps)

Donne TC1+TC2.
L'indication de fps est facultative (défaut 25).
TCplus(01:00:01:02;00:00:03:00;25)=01:00:04:02

TCminus(TC1;TC2;fps)

Donne TC1-TC2.
L'indication de fps est facultative (défaut 25).
TCminus(01:00:01:02;00:00:03:00)=00:59:58:02

TCmult(TC1;facteur;fps)

Donne TC1* facteur.
L'indication de fps est facultative (défaut 25).
TCmult(00:00:02:05;2)=00:00:04:10

TCdiv(TC1;facteur;fps)

Donne TC1/ facteur.
L'indication de fps est facultative (défaut 25).

Nouveau: TCsum(TCref;fps)

Additionne une plage de cellules indiqué par TCref. Cette fonction est très souple, quoique un peu lente. Vous pouvez vous référer par exemple à toute une colonne pour calculer les durées. Vous pouvez donner les Time Code en chiffre comme dans les autres fonctions ou en format texte. Cette fonction est la seule à accepter aussi des arguments en format texte. P.e. vous pouvez facilement traiter un fichier EDL importé. Elle ne donne pas des erreurs si des champs référés sont partiellement remplis de textes ou vide.
TCref se réfère à une plage de cellules (plage, colonne, ligne), référé par les adresses ou par un nom prédéfini.
L'indication de fps est facultative (défaut 25).

TCtrans(TC;fromfps;tofps)

Change la rate d'images pour un Time Code donnée.
L'indication de tofps est facultative (défaut 25).
TCtrans(00:00:01:02;24;25)=00:00:01:01

TCtofeet(TC;gauge;fps)

Donne la longueur en pieds pour un Time Code et une fps donnée.
Pour gauge on peut mettre 16 ou 35 (35 défaut)
16mm: 40 images/pied, 35mm: 16 images/pied
L'indication de fps est facultative (défaut 25).
Le résultat est donné en pied.images (et pas des fractions de pieds)
TCtofeet(00:00:01:00;35;25)=1.09
TCtofeet(00:00:01:00;16;25)=0.25

feettoTC(feet;gauge;fps)

Donne le Time Code pour une longueur en pied donnée.
Pour gauge on peut mettre 16 ou 35 (35 défaut)
16mm: 40 images/pied, 35mm: 16 images/pied
L'indication de fps est facultative (défaut 25).
Feet doit être donnée en pied.images (et pas des fractions de pieds)

TCtometer(TC;gauge;fps)

metertoTC(meter;gauge;fps)

Comme avec les pieds, mais avec meter.cm (1 pied = 0.3048 m)

timetoTC(intime)

Donne le Time Code pour un temps donné dans la norme Macintosh (24h=1).

TCtotime(inTC)

Donne le temps norme Macintosh pour un Time Code donné

texttoTC(intext)

Transforme un Time Code en format texte ("00:00:00:00") en Time Code chiffre pour l'utilisation dans les calculs.
Des espaces seront omises, mais le Time Code doit avoir les 8 chiffres et les interponctions (":" ou autres) pour être bien interprété.
Utile pour une traduction des EDL (Edit Decision List) importés.
texttoTC(01:00:01:17) = 01000117

TCtotext(inTC,fps)

Transforme un Time Code calculé en format texte explicite ("00:00:00:00").
Pour exporter une liste des calculs dans un autre logiciels ou vers un éditeur.
Pour refaire de calculs, il faut retransformer le Time Code avec texttoTC.
TCtotext(01000117) = "01:00:01:17"
L'indication de fps est facultative. Elle est 25 par défaut.
Si fps est 29.97, le format et drop frame ("00:00:00;00").

Nouveau: isTC(TC;fps)

Indique si le Time Code a une valeur légale, pour une fps donnée. La valeur est VRAI, si les frames sont en-desous de fps, les secondes et minutes en dessous de 60 et les heures positives et en-dessous de 24. Dans tous les autres cas, le valeur est FAUX.
L'indication de fps est facultative (défaut 25). Si fps est 29.97, le test se porte aussi sur les valeurs légales du NTSC Drop Frame.

Décharge juridique

Les fichiers sont données tels quels, sans garantie ni redevance. Vous pouvez les utiliser est distribuer librement. En aucun cas, par contre, allez me rendre responsable pour les conséquence de l'utilisations de ces fichiers. Vous ne pouvez pas non plus responsabiliser Microsoft.Si vous avez des commentaires ou des idées, n'hesitez pas à me laisser un e-mail à matti@belle-nuit.com

avril 1998

Histoire des versions

avril 1998
publication sur www.belle-nuit.com

fin septembre 1997.
ajout d'une version compatible Excel 4. début d'une documentation trilingue.

septembre 1997 version 1.1.
support du NTSC dans toutes les fonctions. Un fps de 29.97 est interprété par Drop Frame, un fps de 30 par Non Drop Frame. nouveau format Time Code df. nouvelles foctions TCsum et isTC.la nouvelle foncion TCsum acceptes chiffres ou Time Code formaté en texte comme arguments.

mars 1997
changement de message. ajouté un fichier format DOS. donné le nom standard TC.XLA pour cause de compatibilité des fichiers mac/dos.

novembre 1996
réparé un bogue des calculs avec fps 24. Le résultat s'affichait en 25 fps. Corrigé.

octobre 1996
ajouté TCtotime, timetoTC, TCtotexte, textetoTC puis un petit message pour le macro format Time Code

avril 1996
première version publiée dans Compuserve