OVH Cloud OVH Cloud

Jouer Wav

8 réponses
Avatar
Excel...lent
Bonsoir la communauté,

Voici mon soucis.

Equipement :

PC P4 2,4 Ghz
Ram 1024Mo
HDD1 = 80 Mo
HDD2 = 120 Mo
SE ---> XP familial Pack1 ( oui, oui je sais je retarde un peu... )

J'ai dans un module les codes suivants :

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal
lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

Private Sub Config()
Application.Run "PlayHelp"
CONFIG1.Show
End Sub

Private Sub PlayHelp()
PlaySound ThisWorkbook.Path & "\sons\Ringin.wav", 0, 1
End Sub

Quand J'utilise le code "CONFIG" cela fonctionne très bien, j'ai bien Excel
qui joue le wav ( Ringin.Wav ) juste avant de m'afficher mon usf CONFIG1.

Par contre à mon boulot je n'ai pas XP familial mais WIN 2000 Pro et là le
Wav n'est plus joué ( pour info le code ne plante pas ).

Quelqu'un pourrait-il me tuyauter. J'ai surement oublié quelquechose...

Merci de votre aide

Cordialement.

MARC

8 réponses

Avatar
Fredo P
Bonsoir Excel....lent
Le chemin d'accés n'est sans doute pas le même ou le fichier n'est pas dans
le bon dossier ou peut être sur le bon disque dur .
à vérifier
Quelqu'un pourrait-il me tuyauter. J'ai surement oublié quelquechose...



Avatar
Excel...lent
Bonsoir Fredo P,

Non je confirme le chemin est le même.

Je m'explique :

Mon fichier Wav se trouve dans un sous-répertoire nommé "sons" et
l'application Excel qui l'utilise se trouve dans le répertoire immédiatement
supérieur.

Donc avec la proriété "ThisWorkbook.Path" à laquelle j'adjoint" &
"sonsMonfichier.Wav" il suffit que mon fichier Wav soit toujours dans un
sous-répertoire ( avec comme nom : "sons" ) du répertoire où se trouve
l'applic pour que normalement, quelquesoit le chemin de mon applic, il soit
joué, non ?

Ou alors il y a quelquechose qui m'échappe.

En tout cas merci de te pencher sur ma misère VBA...iène !

Cordialement.

MARC
Avatar
Excel...lent
Re,

Voici ce que j'ai trouvé sur google avec comme mot clé : Playsound Excel.

Voir ici : http://j-walk.com/ss/excel/tips/tip59.htm

C'est un tout petit peu différent de mon code. J'ai modifié mon applic en
conséquence et bien sur ça fonctionne chez moi avec XP.

J'attends de voir au boulot avec Win 2000 PRO pour voir si cela continu.

Cordialement.

MARC
Avatar
Sitting Hoax
Bonjour,
as tu essayé de bricoler avec le 1 et le 0 de la fonction ?

PlaySound ThisWorkbook.Path & "sonsRingin.wav", 0, 0

Amicalement
Siesting Hoax


"Excel...lent" a écrit dans le message de news:
eQuT9$
Re,

Voici ce que j'ai trouvé sur google avec comme mot clé : Playsound Excel.

Voir ici : http://j-walk.com/ss/excel/tips/tip59.htm

C'est un tout petit peu différent de mon code. J'ai modifié mon applic en
conséquence et bien sur ça fonctionne chez moi avec XP.

J'attends de voir au boulot avec Win 2000 PRO pour voir si cela continu.

Cordialement.

MARC




Avatar
Excel...lent
Salut Sitting,

Je vais bosser demain et je vais tenter de voir avec ce que j'ai gratté sur
google et également avec ton idée.

D'ailleurs comme je suis un vilain copieur et que mon code n'est pas de moi,
je me demandais à quoi correspondait ces 1 et 0 de la fonction.

Si par hasard tu savais je te serais " éternellement " reconnaissant de
faire tourner le savoir ( à défaut du pétard )... lol -)))

Histoire de parfaire ma culture sur VBA.

D'avance merci et je vous tiens au courant.

Cordialement.

MARC
Avatar
Sitting Hoax
Bonjour,
je n'en sais rien hélas,
ça doit avoir un rapport avec cela
dwFlags dans ByVal dwFlags As Long
ça doit avoir un rapport avec 32 bits ou 16 bits je suppose,
http://alcatiz.developpez.com/tutoriel/thunking/
http://deptinfo.cnam.fr/Enseignement/DESSJEUX/infoeleves/hanappe/index.html
Modeste pourra certainement t'en dire plus là dessus, perso j'en suis
incapable,
je n'ai pas une formation informatique qui me permette de décrire ce qui se
passe dans cette fonction..
Amicalement
Siesting Hoax

"Excel...lent" a écrit dans le message de news:
%
Salut Sitting,

Je vais bosser demain et je vais tenter de voir avec ce que j'ai gratté
sur
google et également avec ton idée.

D'ailleurs comme je suis un vilain copieur et que mon code n'est pas de
moi,
je me demandais à quoi correspondait ces 1 et 0 de la fonction.

Si par hasard tu savais je te serais " éternellement " reconnaissant de
faire tourner le savoir ( à défaut du pétard )... lol -)))

Histoire de parfaire ma culture sur VBA.

D'avance merci et je vous tiens au courant.

Cordialement.

MARC




Avatar
Jacques93
Bonjour Excel...lent,

Le 2ème paramètre est toujours égal zéro, sauf si le second est égal à
SND_RESOURCE ( Le son se trouve dans l'exécutable ou la dll, et non pas
dans un fichier externe).

Le 3ème paramètre peut prendre les valeurs :

Private Const SND_ALIAS_START = 0
Private Const SND_SYNC = &H0
Private Const SND_ASYNC = &H1
Private Const SND_NODEFAULT = &H2
Private Const SND_MEMORY = &H4
Private Const SND_LOOP = &H8
Private Const SND_NOSTOP = &H10
Private Const SND_VALID = &H1F
Private Const SND_PURGE = &H40
Private Const SND_APPLICATION = &H80
Private Const SND_NOWAIT = &H2000
Private Const SND_ALIAS = &H10000
Private Const SND_FILENAME = &H20000
Private Const SND_RESOURCE = &H40004
Private Const SND_ALIAS_ID = &H110000
Private Const SND_TYPE_MASK = &H170007
Private Const SND_VALIDFLAGS = &H17201F
Private Const SND_RESERVED = &HFF000000

dans ton code :

PlaySound ThisWorkbook.Path & "sonsRingin.wav", 0, 1

le 1 correspond à SND_ASYNC. Le son est joué de manière asynchrone.
Comme tu joue un son wav à partir d'un fichier, tu devrais avoir :

PlaySound ThisWorkbook.Path & "sonsRingin.wav", 0, SND_ASYNC or _
SND_FILENAME

Ce n'est peut être pas l'origine de ton problème, mais bon ...

Plus de détails ici :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_playsound.asp

Salut Sitting,

Je vais bosser demain et je vais tenter de voir avec ce que j'ai gratté sur
google et également avec ton idée.

D'ailleurs comme je suis un vilain copieur et que mon code n'est pas de moi,
je me demandais à quoi correspondait ces 1 et 0 de la fonction.

Si par hasard tu savais je te serais " éternellement " reconnaissant de
faire tourner le savoir ( à défaut du pétard )... lol -)))

Histoire de parfaire ma culture sur VBA.

D'avance merci et je vous tiens au courant.

Cordialement.

MARC





--
Cordialement,

Jacques.

Avatar
Excel...lent
Salut Jacques,

Merci pour tous ces renseignements très instructifs !

J'ai provisoirement opté pour une autre solution, beaucoup moins élégante
mais qui fonctionne.

Ce qui n'empêche qu'avec toute tes infos je vais parfaire mes connaissances
et retravailler mon code initial.

Merçi à toi et sans oublier Sitting et Fredo P.

A bientôt.

Cordialement.

Marc