Condition entre 2 cellule et message

zelgrif

XLDnaute Nouveau
Bonjour à tous,

Je pensais trouver tout seul, et non ! Je souhaiterais mettre en place un msgbox qui s'active uniquement lorsqu'une condition s'applique.
Concrètement, si la cellule B45 est inférieure à la celulle A45, alors un message s'affiche en disant "erreur !"
J'ai tenté ceci :

If ("B45") < ("a45") Then MsgBox ("Dates à vérifier")

Mais le message s'affiche quelques soient les données saisies.

Aussi, une macro peut elle s'activer automatiquement en fonction des données saisies ou faut il qu'elle soit déclenchée manuellement ensuite ?

Merci de vos réponses si vous en avez !

Olivier
 

spank

XLDnaute Nouveau
Re : Condition entre 2 cellule et message

Bonjour,

A tu essayé :

If Cells(45, 2) < Cells(45, 1) Then

MsgBox ("erreur !")

End If

Je pense que tu peux le faire aussi avec Range, je pense aussi qu'une macro doit être activée mannuellement, après je n'en suis pas sûr.
 

kjin

XLDnaute Barbatruc
Re : Condition entre 2 cellule et message

Bonjour,

Aussi, une macro peut elle s'activer automatiquement en fonction des données saisies ou faut il qu'elle soit déclenchée manuellement ensuite ?

Oui et heureusement pour nous.
Ce sont les macros événementielles qui se déclenchent lors de changements quels qu'ils soient (structure, valeur, temps, ...)
Pour ton pb, essaies par exemple dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$45" Then 'si l'adresse de la cellule active est B45
If Target <> "" And Target < Target.Offset(0, -1) Then 'si une valeur est saisie et si elle est inférieure à A45
Target.ClearContents 'alors efface la valeur
MsgBox ("Date à vérifier") 'et affiche le message
End If
End If
End Sub

A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 351
Membres
103 824
dernier inscrit
frederic.marien@proximus.