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 :
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...
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
J'implore votre aide
Mathias
Partager