afficher msgbox si une cellule <0

zaberlibobed

XLDnaute Nouveau
Ave Ô forum
je rame un peu beaucoup passionnément...
Si quelque ame charitable pouvait m'aider à creer une message box qui apparait quand la cellule i7 si <0 ca ferait ma journée
ce serait juste un msg box qui s'affiche et qu'on ferme en cliquant sur un ok.
La valeur de la cellule en question est le renvoi d'une formule
J'ai foi en toi FORUM
 

le Fnake

XLDnaute Junior
Re : afficher msgbox si une cellule <0

bonsoir,

tu peux essayer ce bout de code à insérer dans le code de ta feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$7" Then
If Target.Value < 0 Then MsgBox "ya un piti problème là !", vbOKOnly, "Ca marche pô"
End If
End Sub

Bon courage

le Fnake
 

Charly2

Nous a quittés en 2006
Repose en paix
Re : afficher msgbox si une cellule <0

Bonsoir Zab, bonsoir le Fnake,
bonsoir à toutes et à tous :)

Ce qui "empêche", c'est seulement la ligne :

If Target.Address = "$I$7" Then

car il faut sélectionner ta cellule I7 pour que le code fonctionne... A mon avis, ce serait plus simple si tu nous indiquais la formule utilisée dans I7 (il suffirait de surveiller la modification des antécédents de la cellule).

A+ ;)
 

zaberlibobed

XLDnaute Nouveau
Re : afficher msgbox si une cellule <0

ha au fait une macro impact le resultat puisque i7==J7-L7-G7 et une de ces cell sont conditionné par cette macro
Et puis quand je saisie du negatif dans la cellule même la message box apparait. Par contre quand je saisie une valaur ailleur qui renvoi en i7 une valeur negative rien ne se passe!! Sa se detourne cette coquille??
 
M

Mytå

Guest
Re : afficher msgbox si une cellule <0

Salut zaberlibobed, le Fnake, Charly2 et le Forum

Si ta Cellule I7 contient une formule alors

Private Sub Worksheet_Calculate()
If [I7] < 0 Then MsgBox "ya un piti problème là !", vbOKOnly, "Ca marche pô"
End Sub

Mytå
 

Charly2

Nous a quittés en 2006
Repose en paix
Re : afficher msgbox si une cellule <0

re,

Tu peux essayer ce code :

Code:
[COLOR=blue]Option Explicit[/COLOR]
 
[COLOR=blue]Private Sub[/COLOR] Worksheet_Change([COLOR=blue]ByVal[/COLOR] Target As Range)
'
  [COLOR=blue]If Not[/COLOR] Intersect(Target, Range("G7,J7,L7")) [COLOR=blue]Is Nothing Then[/COLOR]
    [COLOR=blue]If[/COLOR] Range("I7") < 0 [COLOR=blue]Then[/COLOR]
      MsgBox "Attention : tout explose dans 2 secondes !!!"
    [COLOR=blue]End If[/COLOR]
  [COLOR=blue]End If[/COLOR]
[COLOR=blue]End Sub[/COLOR]

EDITION : Sorry, Mytå, j'avais pas rafraîchi. Au fait, super ton exemple sur les modules de classe ;)
A+
 

zaberlibobed

XLDnaute Nouveau
Re : afficher msgbox si une cellule <0

bah nan Charly c'est toujours pareil
voila ce que j'ai écrit:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$7" Then
If Target.Address = "$I$7" = "j7" - "l7" - "G7" < 0 Then MsgBox "ya un piti problème là !", vbOKOnly, "Ca marche pô"
End If
End Sub

merci d'avance pour votre aide
 

zaberlibobed

XLDnaute Nouveau
Re : afficher msgbox si une cellule <0

Chouette merci Mytå
c'est ok
Mais comme bien sur un train peut en cacher un autre quand je lance une autre macro de ce fichier le msgbox apparait et reapparait . Il faut que je click ok plusieur fois et vite en plus pour que je puisse continuer. Forcement lié a la modification des antécédents de la cellule.
Comment le faire apparaitre qu'une fois alors?
 

Charly2

Nous a quittés en 2006
Repose en paix
Re : afficher msgbox si une cellule <0

re re re :p

Teste le fichier joint : il fonctionne correctement...

Pour l'événement Calculate, il est appelé autant de fois qu'il y a de cellules qui contiennent des calculs.

A+

EDITION : Pour les rafraîchissements, c'est uniquement à la Duvel !!! :-D
 

Pièces jointes

  • Zaberlibobed.zip
    6.7 KB · Affichages: 214

zaberlibobed

XLDnaute Nouveau
Re : afficher msgbox si une cellule <0

J'ai l'impression que mon post n'est pas passé alors:

Merci Myta ton code fonctionne au poil j'avais essayé avec calculate sans succes.
Heureuseument y en a qui touchent leur bille

Alors ca fonctionne sauf "et oui " qu'il y a d'autres macros dans mon fichier et quand je les lances la msgbox apparait plusieursfois de suite. Il faut alors clicker vite sur OK pour qu'il se ferme definitivement et pouvoir poursuivre.
D'ou ma question : est il possible de ne fair apparaitre la msgbox qu'une fois?
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 049
Membres
101 882
dernier inscrit
XaK_