Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/12/2011, 18h43   #1
Invité de passage
 
Étudiant
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 4
Points : 4
Par défaut Récupérer une durée d'un fichier vidéo

Bonjour,
je suis étudiante et je dois effectuer un projet sur VBA. J'aimerais bien récupérer la durée totale d'un fichier vidéo mais je ne sais pas si c'est possible de récupérer ce genre d'information grâce à VBA excel, est-ce que quelqu'un pourrait m'aider?
Merci par avance
InfoA7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/12/2011, 20h14   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonsoir
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
'Activer la référence Microsoft Shell Controls and Automation
 
Function Duree(ByVal Chemin As String, ByVal Fichier As String) As Date
Dim Shl As New Shell32.Shell
Dim Rep As Shell32.Folder
Dim Fich As Shell32.FolderItem
 
Set Rep = Shl.Namespace(Chemin)
Set Fich = Rep.Items.Item(Fichier)
 
If Rep.GetDetailsOf(Fich, 27) <> "" Then Duree = Rep.GetDetailsOf(Fich, 27)
 
Set Shl = Nothing
Set Rep = Nothing
Set Fich = Nothing
End Function
Exemple d'utilisation
Code :
1
2
3
4
5
6
7
Sub MonTest()
Dim Chem As String, Fich As String
 
Chem = "C:\Users\user\Desktop"
Fich = "Rouicha.mp3"
MsgBox "Durée: " & Duree(Chem, Fich)
End Sub
Ci-après lien http://silkyroad.developpez.com/VBA/...asseurs/#LIV-A
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/12/2011, 20h19   #3
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour, Essaie le code suivant sur une feuille vierge (il liste les attributs d'un dossier complet). Dans outil réferences cocher Microsoft Shell Controls and Automation. Remplace "mp3" par l'extension de ton fichier. La durée est en colonne AB :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub LireInfosJpg()
 'Dans outil réferences cocher Microsoft Shell Controls and Automation
 
  Dim Chemin As String
  Dim myShell As Shell
  Dim myFolder As Folder
  Dim myFile As FolderItem
  Dim i As Byte, f As String, lig As Long
 
  'Indiquer le chemin du répertoire
  Chemin = "C:\Users\Daniel\Documents\Donnees\Daniel\Musique\Jazz\Art Tatum" '*** modififer le chemin
  Set myShell = CreateObject("Shell.Application")
  Set myFolder = myShell.Namespace(Chemin)
  Set myFile = myFolder.Items.Item(f)
  Application.ScreenUpdating = False
  [a:ah].ClearContents
  For i = 0 To 34
    If myFolder.GetDetailsOf(myFile, i) <> "" Then _
 Cells(1, i + 1) = myFolder.GetDetailsOf(myFile, i)
  Next
  f = Dir(Chemin & "\*.mp3") '***modifier l'extension ici
  'f = Dir(Chemin & "\*.jpg")
  Do While Len(f) > 0
    Set myFile = myFolder.Items.Item(f)
    lig = [a65536].End(xlUp)(2).Row
    For i = 0 To 34
      If myFolder.GetDetailsOf(myFile, i) <> "" Then _
 Cells(lig, i + 1) = myFolder.GetDetailsOf(myFile, i)
    Next
    f = Dir
    lig = lig + 1
  Loop
  Set myShell = Nothing
  Set myFolder = Nothing
  Set myFile = Nothing
 End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/12/2011, 02h16   #4
Invité de passage
 
Étudiant
Inscription : décembre 2011
Messages : 4
Détails du profil
Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 4
Points : 4
Points : 4
Merci beaucoup
je l'ai adapté pour un seul fichier et j'arrive à récupérer la durée (et d'autres caractéristiques aussi) grâce aux informations que vous m'avez fourni.
Cordialement
InfoA7 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h39.


 
 
 
 
Partenaires

Hébergement Web