IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Jouer des sons différents


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de jack554
    Inscrit en
    Février 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 196
    Par défaut Jouer des sons différents
    Bonjour,

    Argh, ma question est sûrement résolue dans le forum mais je n'arrive pas à trouver.

    On connaît le "beep" de VBA qui joue le son système par défaut.

    Mais si je veux faire "Ding" ou "Couic" ou "Pinpon", comment faire ? ;-)

    Merci d'avance.
    Jack.

  2. #2
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    bonjour
    j'ai lu un sujet la dessus il y a quelques temps. En vba il faut passer par les API Windows comme ceci:

    Dans éditeur VBA, mettre dans un module standard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #If Win64 Then
        Private Declare PtrSafe Function PlaySound Lib "winmm.dll" _
            Alias "PlaySoundA" (ByVal lpszName As String, _
            ByVal hModule As LongPtr, ByVal dwFlags As Long) As Boolean
    #Else
        Private Declare Function PlaySound Lib "winmm.dll" _
            Alias "PlaySoundA" (ByVal lpszName As String, _
            ByVal hModule As Long, ByVal dwFlags As Long) As Boolean
    #End If
     
    Const SND_SYNC = &H0
    Const SND_ASYNC = &H1
    Const SND_FILENAME = &H20000
     
    Function SoundMe() As String
        Call PlaySound("c:\windows\media\Speech On.wav", _
          0, SND_ASYNC Or SND_FILENAME) 'indiquer ici le son ? jouer attention .wav
        SoundMe = ""
    End Function
    puis par exemple dans la cellule B1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(A1>300;SoundMe();"")
    donc si dans la cellule A1 le chiffre est supérieur à 300, il joue le son…

    A voir….

    EDIT:
    source ici: https://www.extendoffice.com/fr/docu...n-is-true.html

  3. #3
    Membre confirmé Avatar de jack554
    Inscrit en
    Février 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 196
    Par défaut
    Merci Rvtoulon et Menhir :-)

    Rvtoulon j'ai testé ton code, il fonctionne parfaitement. Comme je suis sous Win64 j'ai juste supprimé le test (#if Win64 then) et le code du "else" (que mon Excel 2010 coloriait en rouge ...)

    Désolé Menhir, pas trop le temps de tester ta solution :-)

    Bonne soirée à tous les deux, je passe en Résolu.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par jack554 Voir le message
    Mais si je veux faire "Ding" ou "Couic" ou "Pinpon", comment faire ? ;-)
    Pilote directement le Media Player, comme ça tu auras tous les sons que tu souhaites, pour peu que tu l'ais en WAV ou en MP3.
    A lire : http://silkyroad.developpez.com/VBA/WindowsMediaPlayer/

    Je n'ai jamais testé mais il est peut-être possible de lancer un WAV avec un simple GetObject.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. jouer des sons tout en jouant
    Par Mo_Poly dans le forum Multimédia
    Réponses: 6
    Dernier message: 12/03/2007, 10h29
  2. Jouer des sons
    Par christophe63 dans le forum Signal
    Réponses: 9
    Dernier message: 05/01/2007, 17h59
  3. [VB.Net 2003] jouer des sons
    Par damned3 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/12/2006, 06h30
  4. Comment jouer des sons dans un programme ???
    Par aldur_disciple dans le forum MFC
    Réponses: 8
    Dernier message: 17/08/2005, 13h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo