message d alerte si valeur d'une cellule devient négative

laura38

XLDnaute Nouveau
Bonjour,

Je souhaite obtenir sur une feuille excel un message d'alerte lorsqu les cellules d'une colonne passent en négatif.
Je ne veux pas utiliser de mise en forme conditionnel car trop risqué, la colonne en question est trop éloignée de la vue et donc je préfère un message d'alerte.

J'ai farfouillé un peu et j'ai trouvé ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([Q1:Q10], Target) Is Nothing Then
If Target < 1 Then
MsgBox "Attention : Valeur négative"

End If
End If
End Sub


le problème c'est que celui-ci ne fonctionne pas. J'imagine qu'il ne fonctionne pas car les valeurs négatives ne proviennent pas d'une saisie en direct, mais d'une rechercheV qui provient elle meme d'une somme.SI.

Est il possible de me fournir un code qui détecterait la valeur négative importée par ma formule?

MErci pour votre aide!
 

Pierrot93

XLDnaute Barbatruc
Re : message d alerte si valeur d'une cellule devient négative

Bonjour,

essaye peut être ceci, dans le module de la feuille concernée :
Code:
Option Explicit
Private Sub Worksheet_Calculate()
Dim c As Range
For Each c In Range("Q1:Q10")
    If c < 0 Then MsgBox "Attention : Valeur négative en :" & vbCrLf & c.Address
Next c
End Sub

bon après midi
@+
 

ROGER2327

XLDnaute Barbatruc
Re : message d alerte si valeur d'une cellule devient négative

Bonjour laura38, Pierrot93


Sans support, c'est toujours un peu casse-gueule, mais essayez cela :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim s$, oPlg As Range, oCel As Range
    On Error GoTo E
    Set oPlg = Intersect([Q1:Q10], Target.Dependents)
    On Error GoTo 0
    If Not oPlg Is Nothing Then
        For Each oCel In oPlg.Cells
            If oCel.Value <= 0 Then s = s & vbLf & oCel.Address(0, 0)
        Next
    If s <> "" Then MsgBox "Attention : Valeur négative en " & s
    End If
C:
    'Suite de la procédure Worksheet_Change si besoin est...
Exit Sub
E:
    On Error GoTo 0
    Resume C
End Sub


ROGER2327
#5404


Vendredi 27 Décervelage 139 (Saints Chemins de fer, assassins - fête Suprême Quarte)
4 Pluviôse An CCXX, 6,4867h - perce-neige
2012-W04-2T15:34:05Z
 
Dernière édition:

laura38

XLDnaute Nouveau
Re : message d alerte si valeur d'une cellule devient négative

RE bonjour, et tout d'abord merci pour vos réponse si rapides!

pierrot93, ton code a l'air d'être tout à fait ce que je recherche. Il marche presque mais il y a un bog.
Lorsque le message s'affiche avec la valeur négative, ensuite une fenetre s ouvre :
Erreur d'éxecution 13
incompatibilté de type

quand je clique sur débogage :
Option Explicit
Private Sub Worksheet_Calculate()
Dim c As Range
For Each c In Range("Q2:Q30")
If c < 0 Then MsgBox "Attention : Valeur négative en :" & vbCrLf & c.Address
Next c
End Sub

et aussi lorsque je saisie une valeur dans d autres cellules ce bug se produit.

Peux-tu me dire si il y a qqch qui cloche?

Roger 2327 ton code n'a rien donné.

J'attache en pièce jointe un résumé très très bref de mon fichier pour illustrer mon pb.
J'y ai mis le code de Pierrot; et la il marche très bien comme vous pouvez le voir...

Qqun voit d'où cela peut venir?

Merci encore pour votre aide!
 

Pièces jointes

  • HHHHHHHH.xls
    22 KB · Affichages: 123

ROGER2327

XLDnaute Barbatruc
Re : message d alerte si valeur d'une cellule devient négative

(...)
Roger 2327 ton code n'a rien donné.
(...)



Normal ! Je suis le dernier des cons...​




ROGER2327
#5405


Vendredi 27 Décervelage 139 (Saints Chemins de fer, assassins - fête Suprême Quarte)
4 Pluviôse An CCXX, 7,6169h - perce-neige
2012-W04-2T18:16:50Z
 

Pièces jointes

  • Dépendance.xlsm
    14.8 KB · Affichages: 142
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix

Pièces jointes

  • Copie de FonctionAFficheMessage.xls
    45 KB · Affichages: 171
  • Copie de FonctionAFficheMessage.xls
    45 KB · Affichages: 157
  • Copie de FonctionAFficheMessage.xls
    45 KB · Affichages: 159
  • Copie de FonctionAFficheMessage.xls
    49.5 KB · Affichages: 106
  • Copie de FonctionAFficheMessage.xls
    49.5 KB · Affichages: 115
  • Copie de FonctionAFficheMessage.xls
    49.5 KB · Affichages: 132
Dernière édition:

Victor21

XLDnaute Barbatruc
Re : message d alerte si valeur d'une cellule devient négative

Bonsoir à tous.

Roger 2327 ton code n'a rien donné.
Lire : Roger, je n'ai pas été capable d'utiliser le code que vous m'avez fourni bénévolement, et ce malgré l'absence de fichier en exemple, mais je vous remercie cependant du temps que vous avez bien voulu consacrer à mon problème, alors que nous ne connaissons même pas.

L'éducation se perd, mon bon monsieur ! Les coups de pied au c.. aussi , celà expliquant peut-être ceci !
 

laura38

XLDnaute Nouveau
Re : message d alerte si valeur d'une cellule devient négative

Bonjour,

Je tenais simplement à vous informer que j'ai réussi à faire fonctionner le code fournit par pierrot.
Je suis désolée si j'ai vexé certaines personnes ici, ce n'était pas du tout mon but, et je vous remercie encore une fois pour toute l'aide que vous m'avez apportée!

Bonne journée à tous.
Laura
 

MJ13

XLDnaute Barbatruc
Re : message d alerte si valeur d'une cellule devient négative

Bonjour à tous

Sinon, une autre solution pour le fun :).

Code:
'Option Explicit
Private Sub Worksheet_Calculate()
Set myRange = Worksheets(ActiveSheet.Name).Range("H2:H30")
answer = Application.WorksheetFunction.Min(myRange)
If answer < 0 Then MsgBox "Attention valeur négative!"
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 245
Membres
103 498
dernier inscrit
FAHDE