Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1565 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel - VBA] Déclencher un son quand un seuil est atteint

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Excel - VBA] Déclencher un son quand un seuil est atteint

n°1430904
pyroBZH
Posté le 24-08-2006 à 18:04:56  profilanswer
 

Bonjour,
 
Je débute avec les macros Excel, et je suis confronté à un problème :
 
J'ai une feuille de données qui se remplit par des mesures en provenance d'un module d'acquisition et je veux pouvoir surveiller une cellule pour déclencher un signal sonore quand un seuil critique est atteint.
 
La fonction marche très bien quand je saisi manuellement une valeur dans la cellule mais elle ne fonctionne plus quand la valeur est insérée automatiquement par le biais d'une formule.
 
Une idée ??
 
Voici la fonction :
 
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A6" )) Is Nothing Then
If Target > 0.444 Then                          'Si la valeur que je surveille (A6) est supérieure à 0,44....
ActiveSheet.Shapes("Object 7" ).Select     'On exécute le son "Object 7"
Selection.Verb Verb:=xlPrimary
Else
Target.Interior.ColorIndex = 9                  'Sinon je colore la case...
End If
End If
End Sub
 
 
Merci de votre aide ;-)

mood
Publicité
Posté le 24-08-2006 à 18:04:56  profilanswer
 

n°1430956
galopin01
Posté le 24-08-2006 à 19:18:03  profilanswer
 

Bonjour
Utilise (peut-être) l'évènement Calculate.
C'est quoi ce module d'acquisition ? Comment se passe concrètement le nourrissage du tableau ? (requête périodique, lien externe...)
A+


Message édité par galopin01 le 24-08-2006 à 19:19:08
n°1431332
pyroBZH
Posté le 25-08-2006 à 12:30:36  profilanswer
 

Bonjour,
 
Merci de ton aide, je vais me documenter un peu plus sur cet évènement. Il permettrait de "recalculer" ou regénérer la feuille de calcul si j'ai bien compris ? ça permettrait alors de prendre en compte les modifications effectuées par le biais d'une formule ?
 
Je pense que la macro ne voit pas qu'il y a eu une modification car elle n'est pas saisie manuellement, et l'execution automatique de celle ci n'a donc pas lieu.
 
En ce qui concerne le module, c'est une acquisition de différentes choses telles que : température, poids... sur des machines. C'est ensuite un logiciel fournit avec le module d'aacquisition qui envoie les données à Excel.

n°1431456
galopin01
Posté le 25-08-2006 à 15:06:37  profilanswer
 

Je ne savais pas qu'un logiciel pouvait "envoyer directement des données" à Excel.
Si c'est Excel qui va les lire (dans un fichier tampon)  Calculate marchera , mais dans ce cas particulier je ne sais pas.
pour utiliser Calculate il suffit de remplacer :
 
Private Sub Worksheet_Change(ByVal Target As Range)
par :
Private Sub Worksheet_Calculate()
A+


Message édité par galopin01 le 25-08-2006 à 15:09:17
n°1437545
pyroBZH
Posté le 06-09-2006 à 12:57:01  profilanswer
 

Salut galopin,
 
Merci de ton aide, je suis de retour de vacances alors je n'ai pas beaucoup donné signe de vie entre temps, mais j'ai fini par trouver la solution, je la poste si ça peut rendre service à quelqu'un !
 
Option Explicit  
Private Declare Function PlaySound Lib "winmm.dll" _  
                Alias "PlaySoundA" ( _  
                ByVal lpszName As String, _  
                ByVal hModule As Long, _  
                ByVal dwFlags As Long) As Long  
 
Private Sub Play()  
       PlaySound "c:\temp\chimes.wav", 0&, &H1  
End Sub  
 
Private Sub Worksheet_Calculate()  
        If [A1].Value > [B1].Value Then Play  
End Sub  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
    On Error Resume Next  
    If (Target = [A1]) Then  
        If [A1].Value > [B1].Value Then Play  
    End If  
End Sub


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [Excel - VBA] Déclencher un son quand un seuil est atteint

 

Sujets relatifs
Vider le presse-papier avec vba sous excel 2003Excel vers XML
[VBA] Opérations sur une série de données utilisée dans un graphique[VBA] [Résolu] Appel foireux d'une classe d'arbre binaire
Extraire avec excel un fichier prospectExtraire avec excel un fichier prospect
selection sur critères avec VBAProgramme pour trie sur Excel...HELP!!!
VBA EXCEL : détecter mise en forme texte (gras, italique) 
Plus de sujets relatifs à : [Excel - VBA] Déclencher un son quand un seuil est atteint


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR