Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonsoir.
Il est possible de changer au niveau Windows les sons associés aux constantes VbInformation, VbExclamation etc.
Il est aussi possible de jouer un son Wav par des API appropriées, mais il n'est pas possible, à ma connaissance de changer exceptionnellement le son émis lors d'un MsgBox.
Cordialement.
Bonsoir Gareth
Merci pour la réponse;
J’ai essayé de faire une simulation selon le code que vous m’avez donné sur le lien et comme je suis pas savoureux en Vba , mon souci est comment faire afficher ces deux message avec les deux fichier son ?
Grazie
Bonsour®
à placer en tete d'un module standard
Public Const SND_ASYNC = &H1 ' play asynchronously
Public Const SND_FILENAME = &H20000 ' name is a file name
dans le module
Sub tutut()
PlaySound ThisWorkbook.Path & "\tambour.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
MsgBox "La commande son est émise avant ouverture de la MsgBox " _
& Chr(10) & "le son continu pendant l'ouverture de la MsgBox et pour la durée de celui-ci" _
& Chr(10) & "ou bien jusque la prochaine Cde Playsound " _
& Chr(10) & "le fichier émis doit etre disponible dans le même répertoire que ce classeur"
End Sub
Public Const SND_APPLICATION = &H80 ' look for application specific association
Public Const SND_ALIAS = &H10000 ' name is a WIN.INI [sounds] entry
Public Const SND_ALIAS_ID = &H110000 ' name is a WIN.INI [sounds] entry identifier
Public Const SND_ASYNC = &H1 ' play asynchronously
Public Const SND_FILENAME = &H20000 ' name is a file name
Public Const SND_LOOP = &H8 ' loop the sound until next PlaySound
Public Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Public Const SND_NODEFAULT = &H2 ' silence not default, if sound not found
Public Const SND_NOSTOP = &H10 ' don't stop any currently playing sound
Public Const SND_NOWAIT = &H2000 ' don't wait if the driver is busy
Public Const SND_PURGE = &H40 ' purge non-static events for task
Public Const SND_RESOURCE = &H40004 ' name is a resource name or atom
Public Const SND_SYNC = &H0 ' play synchronously (default)
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Sub TestPlayWavFile()
PlaySound ThisWorkbook.Path & "\START.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC
MsgBox "This is visible while the sound is playing..."
PlaySound ThisWorkbook.Path & "\FINISH.wav", ByVal 0&, SND_FILENAME '******Or SND_ASYNC
MsgBox "This is visible after the sound is finished playing..."
End Sub
Note ;
la function SndPlaySound est un sous-ensemble de la fonction Playsound pour compatibilité avec Windows 95
Je n'ai pas compris ton probleme.
J'ai testé le code que tu as posté (je suis sous Windows 7)
Si les Wav sont dans le bon dossier, les sons sont correctement joués.
Quand tu double cliques sur les Wav dans leur dossier ils fontionnent ?
Peut être j’ai mal expliqué mon souci
Voila je veux que ces deux messages s’affichent par des conditions par exemple si la cellue a1>5 MsgBox 1 et son wav sinon msgbox2 et son wav
Nb je ne suis pas savoureux en vba
sorry
Sub TestPlayWavFile()
If Feuil1.[A1].Value > 5 Then
PlayWavFile "C:\Documents and Settings\SEVEN\Bureau\Excel\son\START.wav", False
MsgBox "Message 1"
Else
PlayWavFile "C:\Documents and Settings\SEVEN\Bureau\Excel\son\FINISH.wav", True
MsgBox "Message 2"
End If
End Sub
- 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