Bonjour à tous,

Je suis depuis plusieurs jours confronté à un problème : je dois créer une macro Excel qui va permettre lors d'une modification de cellule dans un Range donné - Range qui doit contenir des dates - de vérifier si la date inscrite dans la cellule est bien supérieure à la date d'aujourd'hui. Si ce n'est pas le cas on avertit l'utilisateur de son erreur et on supprime le contenu de la cellule (ou du Range ça revient au même)
Voici ce que j'ai fait pour l'instant mais que ne marche pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim KeyCells As Range
    Dim LastCell_B As Integer
    Dim LastCell_F As Integer
    Dim DateCell As Date
    Dim DateNow As Date
 
    DateNow = Format(Date, "dd/mm/yyyy")
    LastCell_B = Range("B100").End(xlUp).Row                
    LastCell_F = Range("F100").End(xlUp).Offset(1, 0).Row
 
    Set KeyCells = Range(Cells(LastCell_F, 6), Cells(LastCell_B, 6))
    If Not Intersect(Target, KeyCells) Is Nothing Then
        DateCell = Format(Target.Address, "dd/mm/yyyy")
        If DateCell < DateNow Then
            MsgBox ("Attention la date entrée est inférieure à la date d'aujourd'hui")
            Target.ClearContents
        End If
    End If
 
End Sub
KeyCells donne la bonne sélection de cellule, j'ai vérifié mais c'est avec le Target et stocker son adress sous forme de date que j'ai du mal...
J'implore votre aide
Mathias