Formules + son ".wav" de Windows

mellyrne

XLDnaute Nouveau
Bonjour à tous,

Voici mon problème :

Dans une plage de cellules (une seule colonne), je souhaite pouvoir détecter les doublons et jouer un son du dossier MEDIA de Windows (son ".wav").

Autant j'arrive sans problème à me débrouiller sur la détection des doublons, autant je n'arrive pas à trouver comment jouer un son particulier.

Idéalement, j'aimerais combiner la mise en forme conditionnelle (pour pouvoir mettre en rouge et double soulignement les doublons détectés) et la validation des données personnalisée (pour pouvoir afficher une fenêtre avec un message personnalisé), le tout avec le son ".wav".

Et éventuellement sans macro, si c'est possible, mais bon, si c'est avec je prends quand même ^_^

Est-ce que vous avez des idées ?

Je vous remercie pour votre aide !

Mellyrne
 

gilbert_RGI

XLDnaute Barbatruc
Re : Formules + son ".wav" de Windows

Bonjour, et bienvenue sur XLD

Voilà une procédure pour jouer des sons wav

sans VBA je crains que ce ne soit pas faisable

VB:
Private Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long


Private Declare Function mciExecute Lib "winmm.dll" _
(ByVal lpstrCommand As String) As Long


Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000
'-------------------------------------------


Sub JouerSon()
Dim Chemin As String
'à adapter ....selon où le fichier .Wav est situé...
'ChDir ("C:\WINDOWS\Media")
Chemin = "C:\WINDOWS\Media"
PlaySound Chemin & "\tada.wav", 0, 0
Chemin = ThisWorkbook.Path
PlaySound Chemin & "\Knockwav.wav", 0, 0
'Chemin = ThisWorkbook.Path
PlaySound Chemin & "\RING1.wav", 0, 0
End Sub
 

mellyrne

XLDnaute Nouveau
Re : Formules + son ".wav" de Windows

Bonjour gilbert_RGI,

Merci beaucoup pour votre réponse et votre aide.

J'ai tenté de bricoler avec votre proposition mais je n'y arrive pas par moi même.

J'aimerais pouvoir intégrer votre proposition de code VBA dans le code VBA ci-dessous permettant d'éviter les doublons (trouvé sur ce site : La gestion des doublons dans Excel)

Pourriez-vous m'aider ?

Je vous remercie d'avance pour votre temps ^_^

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Colonne As Integer
Dim Adresse As String

'On sort si plus d'une cellule a été modifiée
If Target.Count > 1 Then Exit Sub
'On sort si la cellule modifiée est vide
If Target.Value = "" Then Exit Sub

'Définit la colonne à vérifier (1=Colonne A, 2=colonne B ...etc...)
Colonne = 3

'Vérifie si c'est la colonne cible a été modifiée
If Target.Column = Colonne Then

'Recherche si la nouvelle donnée existe déjà dans la colonne.
Adresse = Columns(Colonne).Find(What:=Target.Value, After:=Target.Offset(1, 0), LookAt:=xlWhole, _
SearchDirection:=xlNext).Address

'Si l'adresse de cellule trouvée ne correspond pas à la cellule modifiée, cela
'signifie qu'il y a un doublon dans la colonne.
If Adresse <> Target.Address Then

MsgBox "La donnée '" & Target & "' existe déjà dans la cellule " & Adresse
'Suppression de la donnée
Target.Value = ""
Target.Select

End If
End If

End Sub
 

Discussions similaires