Comment déclencher un son ou une macro sous condition ?

Jannoch

XLDnaute Nouveau
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......:confused:
Merci de bien vouloir m'aider...
 

wilfried_42

XLDnaute Barbatruc
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

Cela fonctionne, je l'ai essayé
 

Jannoch

XLDnaute Nouveau
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.
 

wilfried_42

XLDnaute Barbatruc
Re : Comment déclencher un son ou une macro sous condition ?

re:

le copier coller des lignes est à mettre dans un module

Call sndPlaySound32(ThisWorkbook.Path & "\Sons\" & gw_mess & ".Wav", 0)

en rouge c'est le chemin que j'utilise

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

.wav est l'extension
 

Jannoch

XLDnaute Nouveau
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.
 

wilfried_42

XLDnaute Barbatruc
Re : Comment déclencher un son ou une macro sous condition ?

re:

Excel utilise beaucoup de racourci clavier pour lancer des taches

comme la sauvegarde, le copier/coler, La recherche ..............

Il faut eviter d'utiliser ces racoucis, quand tu te balade dans les menus, tu as de temps en temps les racourcis qui sont afficher

je ne les connais pas tous par coeur désolé

de plus

Public Sub message(gw_mess As String)
Call sndPlaySound32(ThisWorkbook.Path "D:Musique\Bob Hare in Spania Percus.Wav", 0)
End Sub

à enlever ce qui est en rouge
 

Jannoch

XLDnaute Nouveau
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
 

Pierrot93

XLDnaute Barbatruc
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.

bon après midi
@+i
 

Dull

XLDnaute Barbatruc
Re : Comment déclencher un son ou une macro sous condition ?

Salut Jeannoch, Wilfried, Pierrot, le Forum

Une autre version en pièce jointe

Bonne Journée

PS:a décomprésser dans le même fichier
 

Pièces jointes

  • Son.zip
    71.3 KB · Affichages: 151
  • Son.zip
    71.3 KB · Affichages: 124
  • Son.zip
    71.3 KB · Affichages: 128

Jannoch

XLDnaute Nouveau
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 !
 

wilfried_42

XLDnaute Barbatruc
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

acction pour ecoute un fichier
call message
 

Jannoch

XLDnaute Nouveau
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.

bon après midi
@+i


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 !
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino