Bonjour à vous tous !
Je viens soliciter votre aide car après avoir rammé pendant des heures je n'ai pas réussi à résoudre mon problème.
La version d'excel est de 2002.
Le but recherché est que lorsque la valeur contenue dans une cellule donnée atteint un niveau donné, cela déclenche automatiquement un son wave situé sur le disque dur .......
J'ai trouvé des solutions potentielles sur le net mais aucune ne fonctionne ou alors je m'y suis mal pris...... j'ai donc créé une macro qui déclenche un double clic sur un objet ( comprenant le son wave ) situé sur la feuille, puis essayé de faire executer la macro en automatique ...... la aussi rien ne fonctionne......
Merci de bien vouloir m'aider...
Re : Comment déclencher un son ou une macro sous condition ?
Bonjur
Option Explicit
Declare Function sndPlaySound32 Lib "C:\WINDOWS\SYSTEM32\winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Sub message(gw_mess As String)
Call sndPlaySound32(ThisWorkbook.Path & "\Sons\" & gw_mess & ".Wav", 0)
End Sub
Re : Comment déclencher un son ou une macro sous condition ?
Bonjour Wielfried !
Merci pour ta réponse.
Je suppose que je dois faire un copier-coller du texte de l'encadré .... mais ou dois-je le coller ?
D'autre part ou dois-je indiquer le chemin du son wave ainsi que la position de la cellule, et la valeur à atteindre pour le declenchement du son ?
Merci d'avance !
Cordialement.
Thisworkbook.path contient le chemin de mon classeur, et ensuite j'ai un sous repertoire qui s'appelle Sons, donc mon chemin est en fonction de l'endroit ou se trouve mon classeur
gw_mess est le nom du fichier que je veux entendre
Re : Comment déclencher un son ou une macro sous condition ?
Bon voila ce que j'ai fais
J'ai créer une macro au nom de " Son" qui se declenche avec Ctrl s
Ensuite j'ai coller le code en y insérant le chemin du son ( D:Musique\Bob Hare in spania percus.wav ) Voila ce que cela donne:
Sub Son()
'
' Son Macro
' Macro enregistrée le 15/10/2007 par WinUranium
'
' Touche de raccourci du clavier: Ctrl+s
Option Explicit
Declare Function sndPlaySound32 Lib "C:\WINDOWS\SYSTEM32\winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Sub message(gw_mess As String)
Call sndPlaySound32(ThisWorkbook.Path "D:Musique\Bob Hare in Spania Percus.Wav", 0)
End Sub
Lorsque je fais ctrl s pour déclencher la macro, Excel sauvegarde le fichier.....
Donc cela ne fonctionne pas......
Et ou et à quel moment doit-on spécifier la position de la cellule ainsi que la valeur à laquelle le son doit ètre lu ?
Que dois-je faire ?
Merci.
Re : Comment déclencher un son ou une macro sous condition ?
Bonjour Wielfried !
Dans le code que tu proposes , deux paramètres n'apparaissent pas ......la localisation de la cellule concernée et le seuil de déclenchement du son ....
Qu'en penses-tu ?
Merci
Re : Comment déclencher un son ou une macro sous condition ?
Bonjour Jannoh, Wilfried
sur la base d'un code de MichelXld(merci à lui ), macro événementielle à placer dans le module de la feuille concernée :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sp As Object
If Target.Count = 1 Then
If Target.Address(0, 0) = "A1" And Target.Value > 9 Then
Set Sp = CreateObject("Sapi.SpVoice")
If Sp Is Nothing Then Exit Sub
Sp.Speak "no ok , pass"
End If
End If
End Sub
teste la valeur de la cellule A1, se déclenche si supérieur à 9.
Re : Comment déclencher un son ou une macro sous condition ?
Bonjour Pierrot !
Merci pour ta réponse......
Ou se trouve le module de la feuille et comment y accède-t-on ?
Dois-t-on mettre le chemin du son ( D:Musique\Bob Hare in Spania Percus.Wav ) à la place de : Sapi.SpVoice ? ..... ou comment ?
Merci bien !
Re : Comment déclencher un son ou une macro sous condition ?
re:
ton code
Code:
Sub Son()
'
' Son Macro
' Macro enregistrée le 15/10/2007 par WinUranium
'
' Touche de raccourci du clavier: Ctrl+s
Option Explicit
Declare Function sndPlaySound32 Lib "C:\WINDOWS\SYSTEM32\winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Sub message(gw_mess As String)
Call sndPlaySound32(ThisWorkbook.Path "D:Musique\Bob Hare in Spania Percus.Wav", 0)
End Sub
le code :
Code:
'
' Son Macro
' Macro enregistrée le 15/10/2007 par WinUranium
'
' Touche de raccourci du clavier: Ctrl+s
Option Explicit
Declare Function sndPlaySound32 Lib "C:\WINDOWS\SYSTEM32\winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Public Sub message()
Call sndPlaySound32("D:Musique\Bob Hare in Spania Percus.Wav", 0)
End Sub
Fait une recherche sur mot cle : wav*
tu trouveras la meme chose
Un decrare se fait avant les Sub
Sub son() avant un decrare n'est pas correct
Gw_mess as string n'est pas util, c'etait un parametre contenant le nom du fichier à ecouter
sur la base d'un code de MichelXld(merci à lui ), macro événementielle à placer dans le module de la feuille concernée :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Sp As Object
If Target.Count = 1 Then
If Target.Address(0, 0) = "A1" And Target.Value > 9 Then
Set Sp = CreateObject("Sapi.SpVoice")
If Sp Is Nothing Then Exit Sub
Sp.Speak "no ok , pass"
End If
End If
End Sub
teste la valeur de la cellule A1, se déclenche si supérieur à 9.
Super Pierrot ça fonctionne presque.....
Quand j' inscris manuellement dans la cellule A1 "10" le son se déclenche.........
Mais en fait le contenu de la cellule A1 est ( pour simplifier ) le résultat
d' une opération.......
Donc si par exemple je mets dans la cellule A1 : =A2 et que la valeur dans A2 passe à 10 , automatiquement 10 s'inscrit en A1, mais malheureusement le son ne se déclenche pas.....Que faire ?!
Bon voila......
Merci à tous pour votre aide.... on y est presque !