Comment tester en VBA la fin d'une musique ?
Le
Noegor
Bonjour à Tous,
Merci à Michel Pierron pour son dossier "mpdm-mp3" que j'ai enfin réussi à
adapter à mon application.
Il me reste juste un petit problème à solutionner. Je souhaiterais
déclencher une procédure VBA à la fin du morceau musicale mais je n'ai pas
trouvé comment tester la fin de la musique ?
Merci d'avance à celui ou celle qui peut me dépanner car je cherche en vain
depuis déjà quelques jours.
Cordialement
Noegor
Merci à Michel Pierron pour son dossier "mpdm-mp3" que j'ai enfin réussi à
adapter à mon application.
Il me reste juste un petit problème à solutionner. Je souhaiterais
déclencher une procédure VBA à la fin du morceau musicale mais je n'ai pas
trouvé comment tester la fin de la musique ?
Merci d'avance à celui ou celle qui peut me dépanner car je cherche en vain
depuis déjà quelques jours.
Cordialement
Noegor

Poser une question


Voir la réponse du même Michel sur ce forum le 8/02/2006 23:19
réponse à adapter pour mp3 ...
;o)))
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft...c.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
J'aimerais bien récupérer la réponse de Michel mais le message n'apparait
plus les messages du 8/02 s'arrêtent à 12h20...Comment faire pour le
retrouver?
J'ai lancé une recherche qui n'a rien donné.
Merci de votre indulgence.
Noégor
"Modeste" news:
Google est ton ami :
http://minilien.com/?JQYa9U5tuV
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft...c.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
Merci Modeste.
Plus j'avance, plus je m'aperçois de mes lacunes. D'ailleurs je me demandais
où nos experts vont chercher tous ces : "msciSendString Lib "winmm.dll"
Alias..." ? MSDN serait donc une des mines.
Dans la réponse de Michel Pierron qu'il nous faisait, le 4/02/06 à 22h39, à
ma question sur la lecture de fichier mpeg, il conseillait "d'emballer le
composant WindowsMediaPlayer dans une application Internet explorer" et il
donnait le code de Sub WinMediaPlayer.
J'ai tenté de l'utiliser, mais en vain, car je n'arrive pas à transmettre
les paramètres du fichier à lire. En effet je souhaiterais dans un premier
temps rechercher le fichier à traiter, puis faire un call de WinMediaPlayer
en lui transmettant le chemin complet. J'ai essayé ceci mais cela ne marche
pas.
Sub SujetSelectinné()
...
If DiapSujet = "Film" Then
NomDuFilm = Feuil11.Cells(Lig, Col)
ChDir ActiveWorkbook.Path
nf = ActiveWorkbook.Path & "AnniFilms" & NomDuFilm
End If
Film:
Const sFile$ = nf
Call WinMediaPlayer(sfile$)
End Sub
Comment faire ?
Merci
A+
Noégor
"Modeste" news:
Pourquoi faire compliqué quand on peut faire simple.
Dans ton classeur, place en colonne 1 le chemin complet des fichiers audio
ou vidéo que tu souhaites visualiser.
Menu Affichage / Barres d'outils / Boîte à outils Contrôles
Cliques sur l'équerre, la règle et le crayon pour entrer en mode Création
Clique en bas Autres contrôles et dans la liste déroulante, sélectionne
Windows Media Player
Clique sur la feuille à l'endroit où tu veux placer le contrôle et
dimensionne le à ta guise.
Click droit sur le contrôle ajouté et sélectionne Propriétés:
Tu mets Visible à False
Si tu ne souhaites pas voir les contrôles Play, Pause, Stop, etc. tu définis
la propriété uiMode à none au lieu de full.
Pour finir, tu cliques sur l'équerre, la règle et le crayon pour sortir du
mode Création.
Ensuite, dans le module de ta feuille:
Option Explicit
Private Declare Function SHGetFileInfo& Lib "shell32.dll" _
Alias "SHGetFileInfoA" (ByVal pszPath$, ByVal dwAttributes& _
, psfi As SHFILEINFO, ByVal cbSizeFileInfo&, ByVal uFlags&)
Private Type SHFILEINFO
hIcon As Long
iIcon As Long
dwAttributes As Long
szDisplayName As String * 260
szTypeName As String * 80
End Type
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Value = "" Then Exit Sub
If Target.Column <> 1 Then Exit Sub
If Len(Dir(CStr(Target.Value))) = 0 Then Exit Sub
If Not GoodFileType(Target.Value) Then Exit Sub
With Me.OLEObjects(1)
.Object.URL = Target.Value
.Visible = True
While .Object.playState <> 1: DoEvents: Wend
.Object.Close
.Visible = False
.Object.URL = ""
' Ici le reste de ton code
' Exemple:
MsgBox "Fini !", 64
End
End With
End Sub
Private Function GoodFileType(ByVal sFile$) As Boolean
Dim SFI As SHFILEINFO, FileType As String
If SHGetFileInfo(sFile, 0&, SFI, Len(SFI), &H400) Then
FileType = SFI.szTypeName
Dim i&: i = InStr(FileType, Chr$(0))
If i Then FileType = Left$(FileType, (i - 1))
End If
GoodFileType = InStr(1, FileType, "audio", 1)
If GoodFileType Then Exit Function
GoodFileType = InStr(1, FileType, "vidéo", 1)
End Function
Voilà, c'est fini; toutes les erreurs sont normalement gérées et seuls les
fichiers de type audio ou vidéo déclencheront l'ouverture de Windows Media
Player.
MP
"Noegor" #