Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Petit souci avec une alerte sonore et alerte msgbox

  • Initiateur de la discussion Initiateur de la discussion Optimal
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
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
 
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"
 
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 🙂 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…