Convertir des milièmes en mm:ss

  • Initiateur de la discussion Initiateur de la discussion Le Djé
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Le Djé

Guest
Bonjour le forum,

Voilà mon problème, je récupère la durée d'un fichier MP3 (par exemple : 501146 millisecondes) dans une cellule mais je voudrais changer le format en minutes et en secondes (mm:ss) sachant que le fichier cité en exemple dure 04:53.

J'ai bien essayé des formats ou des formules mais je n'ai pas encore trouvé...

Merci à vous

Le Djé
 
Bonjour Didier,
En fait j'ai utilisé un code que j'ai eu je ne sais plus où qui est censé me donnder la durée d'un fichier MP3 et celui-ci m'est donné en ms.
Voici ce code :
Code:
Option Explicit
''*********************** durée fichiers WAV , MPEG , MP3 ****************************
Declare Function mciSendString Lib 'winmm.dll' Alias _
'mciSendStringA' (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
hwndCallback As Long) As Long

Private Declare Function GetShortPathName Lib 'kernel32' _
Alias 'GetShortPathNameA' (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long




Sub dureeFichierMP3()
Dim s As String * 255
Dim i As Long
Dim ShortName As String

''ouvrir la session
ShortName = GetShortName('C:\\MP3\\Ton fichier.mp3' )
i = mciSendString('open ' & ShortName & ' type MPEGVideo alias Voix1', 0&, 0, 0)

''reuperer les infos
i = mciSendString('status voix1 length', s, 255, 0)
MsgBox Val(s) & ' millisecondes'

Range('C2') = Val(s)
''fermer la session
i = mciSendString('close voix1', 0&, 0, 0)

End Sub



Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
sShortPathName = Space(255)
iLen = Len(sShortPathName)

lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
GetShortName = Left(sShortPathName, lRetVal)
End Function

Je ne vois pas à quelle endroit on pourrait changer le format

Merci de ton aide

LeDjé
 
re

vers la fin du code tu trouves

Range('C2') = Val(s)

tu remplaces par : Range('C2') = Val(s)/60000

sur la feuille excel

En c2 tu récupères la valeur en décimal

En c3 =ENT(C2) & 'mn' & ENT((C2-ENT(C2))*60) & 's'


Si tu ne veux pas de formatage, utilises la formule de Pascal76 qu'il t'a donné dans ton premier post.

Message édité par: dg62, à: 13/03/2005 18:04
 
Bonjour Didier,
En fait j'ai utilisé un code que j'ai eu je ne sais plus où qui est censé me donnder la durée d'un fichier MP3 et celui-ci m'est donné en ms.
Voici ce code :
Code:
Option Explicit
''*********************** durée fichiers WAV , MPEG , MP3 ****************************
Declare Function mciSendString Lib 'winmm.dll' Alias _
'mciSendStringA' (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
hwndCallback As Long) As Long

Private Declare Function GetShortPathName Lib 'kernel32' _
Alias 'GetShortPathNameA' (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long




Sub dureeFichierMP3()
Dim s As String * 255
Dim i As Long
Dim ShortName As String

''ouvrir la session
ShortName = GetShortName('C:\\MP3\\Ton fichier.mp3' )
i = mciSendString('open ' & ShortName & ' type MPEGVideo alias Voix1', 0&, 0, 0)

''reuperer les infos
i = mciSendString('status voix1 length', s, 255, 0)
MsgBox Val(s) & ' millisecondes'

Range('C2') = Val(s)
''fermer la session
i = mciSendString('close voix1', 0&, 0, 0)

End Sub



Public Function GetShortName(ByVal sLongFileName As String) As String
Dim lRetVal As Long, sShortPathName As String, iLen As Integer
sShortPathName = Space(255)
iLen = Len(sShortPathName)

lRetVal = GetShortPathName(sLongFileName, sShortPathName, iLen)
GetShortName = Left(sShortPathName, lRetVal)
End Function

Je ne vois pas à quelle endroit on pourrait changer le format

Merci de ton aide

LeDjé
 
Merci didier pour ton aide mais ça semble ne pas marcher ou alors je m'y prend mal ce qui est probablement le cas.

Exemple : 1 fichier qui, je sais, fait 4 min 53 sec (501146 ms)

tu m'as dit de le diviser par 60000 : 501146 / 60000
Ce qui fait : 8,35243333333333

Et en appliquant ton format cela fait 8mn21s

Peut-être ai-je fait une erreur ???

😱
 
Résolu : Convertir des milièmes en mm:ss

Merci pour tout Didier, effectivement j'ai testé avec un autre fichier et le résultat est bon ! Bizarre (Excel ne doit pas apprécier Aqmé !)
Merci encore et bonne fin de week end.

Le Djé
 
Résolu : Convertir des milièmes en mm:ss

Merci pour tout Didier, effectivement j'ai testé avec un autre fichier et le résultat est bon ! Bizarre (Excel ne doit pas apprécier Aqmé !)
Merci encore et bonne fin de week end.

Le Djé
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour