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

  • Initiateur de la discussion Initiateur de la discussion Jannoch
  • Date de début Date de début

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 !

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......😕
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

Cela fonctionne, je l'ai essayé
 
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.
 
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
 
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 ?

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

bon après midi
@+i
 
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

acction pour ecoute un fichier
call message
 
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 !
 
- 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

Discussions similaires

Réponses
2
Affichages
565
Retour