XL 2019 Petit souci avec une alerte sonore et alerte msgbox

Optimal

XLDnaute Junior
Bonjour,

Voila j'ai un petit souci avec une alerte que j'ai mis pour être informé du changement de valeur dans une cellule.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("E12") >= 3.8 Then Beep

If Range("E12") >= 3.8 Then
MsgBox "Attention valeur atteinte"
End If
End Sub


Donc jusque la ça fonctionne très bien.
Seulement si j'ai des manipulations à faire dans la feuille, a chaque déplacement que j'effectue, l'alerte sonore retentit et le msgbox réapparait. C'est un peu ennuyant.
Y'a t'il un moyen de coder ça différemment pour que lorsque je valide OK sur le msgbox la macro s’arrête temporairement et qu'elle se réactive à la demande seulement ?

Merci d'avance

Gilles
 

Optimal

XLDnaute Junior
Bon eh bien j'aurais du me douter que j'allais être confronté à un autre problème.

Je vais avoir une multitude de ligne sur lesquelles il va me falloir mettre des alertes mais je ne sais pas combien à l'avance.

Comment simplifier l'écriture suivante ? avec un tableau certainement mais comment ?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("F2") >= Range("N2") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours A", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F3") >= Range("N3") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours B", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F4") >= Range("N4") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours C", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F5") >= Range("N5") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours D", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F6") >= Range("N6") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours E", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F7") >= Range("N7") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours F", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F8") >= Range("N8") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours G", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F9") >= Range("N9") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours H", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F10") >= Range("10") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours J", vbExclamation + vbOKOnly
Arret = True
End If

If Range("F11") >= Range("N11") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours K", vbExclamation + vbOKOnly
Arret = True
End If

En plus le message box devra changer a chaque fois

If Range("F12") >= Range("N12") And Not Arret Then
MsgBox "Attention valeur atteinte sur cours L", vbExclamation + vbOKOnly
Arret = True
End If
End Sub

Le message box va changer en fonction de la ligne qui va s'activer et ajoutera le nom contenu dans B2, B3, B4, B5, etc...
 
Dernière édition:

Optimal

XLDnaute Junior
Oui j'ai déjà des MFC pour les flèches en fonction du cours pour avoir un visu sur ce qui se passe plus rapidement. D'ailleurs je me suis aperçu que les MFC c'est compliqué, obligé de les mettre une par une car ça n'accepte pas les références relatives avec les jeux d'icones
 

Optimal

XLDnaute Junior
Bonjour Dranreb

Dans le fichier exemple que j'ai mis vous pouvez voir que j'ai 13 lignes d'actions. J'ai mis une alerte sur chacune des lignes qui correspondront au contenu de la cellule N2, N3, N4 etc... par rapport à la cellule F2, F3, F4 etc.. Donc si c'est par exemple la ligne 5 qui se déclenche le msgbox devra contenir par exemple le message suivant : "Attention valeur atteinte sur l'action Europlasma"
si c'est la ligne 10 qui déclenche l'alerte : "Attention valeur atteinte sur l'action Navya"
 

Optimal

XLDnaute Junior
Ah ! Héhé ! c'est dur le dimanche matin ! Désolé

Alors je vais essayer de m'expliquer ..ce que j'entendais par " la ligne qui va s'activer " j'aurais plutot du dire la ligne sur laquelle va se déclencher l'alerte. c'est à dire si la ligne qui contient par exemple le cours de Europlasma donc la ligne 5 et que la valeur de F5 est supérieur à la valeur que j'aurais saisi en N5 alors j'ai une alerte qui se déclenche et donc le message box suivant : "Attention valeur atteinte sur l'action Europlasma"


J'espère que ce coup ci j'ai répondu tout bon. Sinon je retourne me coucher et on voit ça ce soir :) :)
 

Statistiques des forums

Discussions
312 025
Messages
2 084 749
Membres
102 652
dernier inscrit
Helpmeplz