Comment jouer un son si une condition est remplie dans Excel?
Dans Excel, nous pouvons appliquer la mise en forme conditionnelle pour formater et mettre en surbrillance les cellules pour répondre à la condition dont vous avez besoin, mais, parfois, vous voudrez peut-être jouer un son si une condition est remplie. Par exemple, si la valeur de la cellule dans A1 est supérieure à 300, je souhaite qu'un son soit lu. Excel ne prend pas en charge cette fonctionnalité, cet article, je vais vous présenter quelques codes VBA pour résoudre cette tâche.
Jouez un bip système par défaut basé sur la valeur de la cellule avec le code VBA
Jouez un son personnalisé basé sur la valeur de la cellule avec le code VBA
Jouez un son si la valeur de la cellule change dans une colonne spécifique avec le code VBA
Jouez un bip système par défaut basé sur la valeur de la cellule avec le code VBA
Voici un code pratique pour vous permettre de jouer un bip système par défaut lorsqu'une condition spécifique est remplie, procédez comme suit:
1. Maintenez la touche ALT + F11 clés, puis il ouvre le Microsoft Visual Basic pour applications fenêtre.
2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.
Code VBA: Jouez un bip système par défaut basé sur une valeur de cellule:
Function BeepMe() As String
Beep
BeepMe = ""
End Function
3. Ensuite, enregistrez et fermez cette fenêtre de code, revenez à la feuille de calcul et entrez cette formule: = SI (A1> 300, BeepMe (), "") dans une cellule vide à côté de la cellule contient la valeur sur laquelle vous souhaitez jouer un son, puis appuyez sur Entrer clé, rien ne sera affiché dans la cellule de formule, voir capture d'écran:
4. Et maintenant, si la valeur entrée dans la cellule A1 est supérieure à 300, un bip système par défaut sera émis.
Jouez un son personnalisé basé sur la valeur de la cellule avec le code VBA
Si vous voulez jouer un autre son que le bip système par défaut, ici aussi un code VBA peut vous rendre service.
1. Maintenez le ALT + F11 clés, puis il ouvre le Microsoft Visual Basic pour applications fenêtre.
2. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.
Code VBA: Jouez un son spécifique en fonction d'une valeur de cellule:
#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
'Updateby Extendoffice 20161223
Call PlaySound("c:\windows\media\Speech On.wav", _
0, SND_ASYNC Or SND_FILENAME)
SoundMe = ""
End Function
3. Ensuite, enregistrez et fermez cette fenêtre de code, revenez à la feuille de calcul et entrez cette formule: = SI (A1> 300, SoundMe (), "")dans une cellule vide à côté de la cellule contient la valeur sur laquelle vous souhaitez jouer un son, puis appuyez sur Entrer clé, rien ne sera affiché dans la cellule de formule, voir capture d'écran:
4. À partir de maintenant, si une valeur supérieure à 300 est entrée dans la cellule A1, un son spécifique sera joué à la fois.
Florales: Dans le code ci-dessus, vous pouvez modifier le fichier son wav selon vos besoins à partir de c: \ windows \ media \ chemin du fichier. Voir la capture d'écran:
Jouez un son si la valeur de la cellule change dans une colonne spécifique avec le code VBA
Si vous souhaitez lire un son si la valeur de la cellule change dans une colonne spécifique, vous pouvez appliquer le code VBA suivant.
1. Cliquez avec le bouton droit sur l'onglet de la feuille pour lequel vous souhaitez lire un son lorsque la valeur change dans une colonne, puis choisissez Voir le code dans le menu contextuel, et dans le Microsoft Visual Basic pour les applications fenêtre, copiez et collez le code suivant dans le module vide:
Code VBA: Jouez un son si la valeur de la cellule change dans une colonne:
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20161223
Dim xCell As Range
On Error Resume Next
If Target.Columns.Count = 1 Then
If Intersect(Target, Columns(3)) Is Nothing Then
Exit Sub
Else
For Each xCell In Columns(3)
On Error Resume Next
If (xCell.Value = Target.Value) And (xCell.Value <> "") Then
Beep
Exit For
End If
Next
End If
End If
End Sub
Notes: Dans le code ci-dessus, le numéro 3 dans le script Colonnes (3) est le numéro de colonne dont vous souhaitez diffuser le son lorsque la valeur change dans cette colonne.
2. Et puis enregistrez et fermez cette fenêtre de code, maintenant, si une valeur de cellule change dans la troisième colonne, un bip système par défaut sera joué.
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!