Durée d'un fichier vidéo

Bonjour à tous,

( Windows 7 & Excel 2003 )

J'ai un répertoire avec des fichiers vidéos d'extension avi

Je voudrais par macro, connaître la durée de chaque fichier, le résultat s'afficherait sous la forme hh:mm:ss

Merci par avance

Cordialement

voici un début de piste, un fonction trouvé sur le net qui retourne en secondes la durée d'un fichier AVI. Tu n'as fournir le nom complet du fichier en paramêtre ( répertoire + nom )

Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As  Long
Function GetAviDuration(ByVal sPath As String) As Long
'   retourne la durée du fichier AVI en  secondes
    Dim sAlias  As String
    Dim lRet    As Long
    Dim sBuffer As String
    sAlias = "FONCTION_MCI_" & CStr(CLng(Now))

'    chargement
    Call mciExecute("OPEN " & sPath & " TYPE AVIVIDEO ALIAS  " & sAlias & "  STYLE POPUP")

'   on récupère les ms totales
    sBuffer = String$(128&, vbNullChar)
    Call mciSendString("SET " & sAlias & " TIME FORMAT  MS", sBuffer, Len(sBuffer), 0&)
    lRet = mciSendString("STATUS  " & sAlias & "  LENGTH", sBuffer, Len(sBuffer), 0&)

'   retour
    GetAviDuration = Val(LeftB$(sBuffer, InStrB(sBuffer, vbNullChar))) \ 1000

'    stop
    Call mciExecute("CLOSE " & sAlias)
End Function
Rechercher des sujets similaires à "duree fichier video"