Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bip - Bip

22 réponses
Avatar
Jacquouille
Bonjour

Dans ce filet de macro, puisé en ces saints lieux, est-il possible de
changer le son ( le beep).
Existe-t-il une banque de données dans laquelle on peut faire son choix? (
ex : Dring ou Meuh ou Cocorico ou...)

Mille mercis et bon WE.
-------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) < 200 Then Beep
End Sub
-------------------------

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

10 réponses

1 2 3
Avatar
Jacky
Hello Jacques

Sauf erreur, je ne pense pas que l'on puisse changer ce "Beep"
Mais tu peux lancer un fichier ".Wave" avec cette fonction.

Declare Function sndPlaySound32 Lib "C:WINDOWSSYSTEM32winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Si tu veux un exemple fait signe.
--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
505436f9$0$3112$
Bonjour

Dans ce filet de macro, puisé en ces saints lieux, est-il possible de changer le son ( le beep).
Existe-t-il une banque de données dans laquelle on peut faire son choix? ( ex : Dring ou Meuh ou Cocorico
ou...)

Mille mercis et bon WE.
-------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) < 200 Then Beep
End Sub
-------------------------

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
Jacquouille
Salut Jacky
Que tu parles Français, on est bien d'accord, à la limite, l'Alsacien...
(quoi que.....), mais si tu me causes le grand breton, ça va plus.
Comment tu veux que Ducros se décarcasse?
Tout cela pour te dire qu'un exemple archi commenté serait le très bien
venu.
Très bon WE à toi et aux tiens.
jacques.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacky" a écrit dans le message de groupe de discussion :
k31i6v$un8$

Hello Jacques

Sauf erreur, je ne pense pas que l'on puisse changer ce "Beep"
Mais tu peux lancer un fichier ".Wave" avec cette fonction.

Declare Function sndPlaySound32 Lib "C:WINDOWSSYSTEM32winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName
As String, _
ByVal uFlags As Long) As Long

Si tu veux un exemple fait signe.
--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
505436f9$0$3112$
Bonjour

Dans ce filet de macro, puisé en ces saints lieux, est-il possible de
changer le son ( le beep).
Existe-t-il une banque de données dans laquelle on peut faire son choix?
( ex : Dring ou Meuh ou Cocorico ou...)

Mille mercis et bon WE.
-------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) < 200 Then Beep
End Sub
-------------------------

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
Jacky
Re..
....qu'un exemple archi commenté .....


C'est pas très compliqué
Ceci est à placer dans un module standard
'-------------------
Declare Function sndPlaySound32 Lib "C:WINDOWSSYSTEM32winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
'---------------------
Ceci dans le module de la feuille (attention cela est simplifié , aucun contrôle de validité pour cet exemple)
'----------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Cells(1, 1) < 200 Then Call sndPlaySound32(ThisWorkbook.Path & "pleurs_003.wav", 1)
If Cells(1, 1) >= 200 Then Call sndPlaySound32(ThisWorkbook.Path & "BOSSE.WAV", 1)
End If
End Sub
'------------
Pour l'exemple joint (3 fichiers sur cjoint)
1- Créer un dossier: par exemple "Jacquouille"
2- Y placer le classeur (cjoint)
3- Y placer tous les 2 fichiers son " .wav" (cjoint)
4- Lancer le classeur nommé "Pour Jacques" et changer la valeur de la cellule A1

Ici le classeur
http://cjoint.com/?BIpmbAYXFYN
ici le premier fichier son
http://cjoint.com/?BIpmcfB14Fn
et ici le deuxième fichier son
http://cjoint.com/?BIpmcRvSoMo

Bon amusement ;o)

--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
50544e04$0$3117$
Salut Jacky
Que tu parles Français, on est bien d'accord, à la limite, l'Alsacien... (quoi que.....), mais si tu me
causes le grand breton, ça va plus.
Comment tu veux que Ducros se décarcasse?
Tout cela pour te dire qu'un exemple archi commenté serait le très bien venu.
Très bon WE à toi et aux tiens.
jacques.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacky" a écrit dans le message de groupe de discussion : k31i6v$un8$

Hello Jacques

Sauf erreur, je ne pense pas que l'on puisse changer ce "Beep"
Mais tu peux lancer un fichier ".Wave" avec cette fonction.

Declare Function sndPlaySound32 Lib "C:WINDOWSSYSTEM32winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long

Si tu veux un exemple fait signe.
--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
505436f9$0$3112$
Bonjour

Dans ce filet de macro, puisé en ces saints lieux, est-il possible de changer le son ( le beep).
Existe-t-il une banque de données dans laquelle on peut faire son choix? ( ex : Dring ou Meuh ou Cocorico
ou...)

Mille mercis et bon WE.
-------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) < 200 Then Beep
End Sub
-------------------------

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."



Avatar
MichD
Bonjour,

Si tu veux avoir l'embarras du choix de fichier .wav
regarde dans ce répertoire et ses sous-répertoires :
C:WindowsMedia
Avatar
Gloops
Jacquouille a écrit, le 15/09/2012 10:06 :
Bonjour

Dans ce filet de macro, puisé en ces saints lieux, est-il possible de
changer le son ( le beep).
Existe-t-il une banque de données dans laquelle on peut faire son cho ix?
( ex : Dring ou Meuh ou Cocorico ou...)

Mille mercis et bon WE.
-------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1) < 200 Then Beep
End Sub
-------------------------

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."




Bonjour,

A ma connaissance, il existe quatre niveaux de choix quant à jouer des
sons à partir d'un code, et à chaque fois qu'on franchit un niveau il y
a un peu plus de boulot.

1 - Beep : c'est simple, toujours la même instruction, toujours le mê me
son, pas de paramètre, ça marche toujours (en tout cas si la machine est
capable de produire du son)

2 - beep paramétré

en tête de module placer ceci

Declare Function Beep Lib "kernel32" Alias "Beep" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) As Long

Exemple là :
http://allapi.mentalis.org/apilist/FC32B1DF568445B2C7D0B811FB85EA54.html
le nombre est affiché à la fin de la production du son, on peut se
demander si c'est bien ça qu'on veut, mais ça c'est un détail

Voir MessageBeep, aussi.

Attention, si on utilise une API dans le module d'un formulaire ou d'un
état, devant Declare, il faut mettre Private. D'ailleurs, on devrait le
faire toujours, et n'appeler cette API que depuis ce module. ça évite de
se perdre quand on cherche une fonction dans un module ...

3 - production d'un son wav

Si je ne m'abuse Jacky a fourni la réponse

4 - production d'un son à partir d'un fichier son quelconque

Il y a longtemps que j'ai joué avec ça, j'ai oublié les détails.
En première approche je serais tenté de tester ça :

http://allapi.mentalis.org/apilist/PlaySound.shtml


Je me tiens à ces quatre niveaux car je suis spécialisé en informat ique
de gestion. Les gens qui écrivent des applications de gestion du son
s'intéressent à des notions d'égaliseur pour filtrer les fréquenc es, de
réglage du niveau sonore (ah ça je sais faire), de balance ...
Avatar
Gloops
Gloops a écrit, le 15/09/2012 14:13 :
dans le module d'un formulaire ou d'un état



Oui, je suis parti sur mon élan. La notion d'état sous Excel n'est pa s
très développée.
J'imagine que pour adapter ce que j'ai dit à Excel on parlera plutôt de
feuille de saisie, de type UserForm.

Et qu'on peut maintenir que déclarer tous les API en Private est une
bonne habitude pour améliorer la lisibilité du code, et faciliter
l'emploi d'Intellisense pour faire un appel d'un module à l'autre.
Avatar
MichD
Il y a ceci :

'déclaration de l'Api dans le haut d'un module standard
Declare Function PlaySound Lib "Winmm" _
(ByVal pszSound As String, ByVal hmod As Long, _
ByVal fdwSound As Long) As Long

'-------------------------
Sub Test()
PlaySound "C:WindowsMediaTada.WAV", 0, 0
End Sub
'-------------------------
Avatar
Jacky
Re...
PlaySound "C:WindowsMediaTada.WAV", 0, 0


Si le deuxième argument "bloque(0) ou non(1)" l'exécution.
Que fait le premier argument ??

--
Salutations
JJ


"MichD" a écrit dans le message de news: k31soi$nlg$
Il y a ceci :

'déclaration de l'Api dans le haut d'un module standard
Declare Function PlaySound Lib "Winmm" _
(ByVal pszSound As String, ByVal hmod As Long, _
ByVal fdwSound As Long) As Long

'-------------------------
Sub Test()
PlaySound "C:WindowsMediaTada.WAV", 0, 0
End Sub
'-------------------------

Avatar
MichD
Voir à cette adresse : http://www.ex-designz.net/apidetail.asp?api_idQ3

à mémoriser par coeur, il y a un examen sur ce sujet la semaine prochaine!
;-)
Avatar
Gloops
Jacky a écrit, le 15/09/2012 14:49 :
Re...
PlaySound "C:WindowsMediaTada.WAV", 0, 0


Si le deuxième argument "bloque(0) ou non(1)" l'exécution.
Que fait le premier argument ??




Il identifie l'instance du son désigné par le premier argument, à
condition que le troisième vaille SND_RESOURCE. Il doit être nul sino n.

Bon, eh bien ... on dirait qu'il faut creuser un peu :)
1 2 3