Bonjour,

Je souhaite comparer deux dates entre elle de facon à savoir si le produit est expiré ou non.

Le problème est le suivant, il m'affiche toujours le resultat PR EXPIRE alors que c'est faux...

la formule en cellule A1 de la feuille recherche est AUJOURDHUI()
le format des cellules est format date
dans la colonne 3 on mets les dates d'expiration au format date
ATTENTION, je ne peux pas mettre CDATE car j'ai une erreur du fait qu'il y a des cellules vides je pense. Il n'y a pas forcement une valeur dans la colonne 3 du coup dès que je change ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sheets("Liste").Cells(lig, 3).Value > Sheets("Recherche").Cells(1, 1).Value
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CDATE(Sheets("Liste").Cells(lig, 3).Value) > CDATE(Sheets("Recherche").Cells(1, 1).Value)
il n'y a une erreur 13
voici mon code:

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
23
24
Sub Expiration()
 Dim ligfin As Long
 Dim LigDeb As Long
 Dim lig As Long
 
    Application.ScreenUpdating = False
Sheets("Liste").Unprotect Password:="123456"
 
 
    'Recherche de la der lig utilisée en col 1
    ligfin = Sheets("Liste").Cells(Rows.Count, 1).End(xlUp).Row
    LigDeb = 2
 
 
 
 
    For lig = LigDeb To ligfin
       If Sheets("Liste").Cells(lig, 3).Value < Sheets("Recherche").Cells(1, 1).Value And Sheets("Liste").Cells(lig, 2).Value <> "" Then
       Sheets("Liste").Cells(lig, 6).Value = "PR EXPIRÉ"
       ElseIf Sheets("Liste").Cells(lig, 3).Value >= Sheets("Recherche").Cells(1, 1).Value And Sheets("Liste").Cells(lig, 2).Value <> "" Then
       Sheets("Liste").Cells(lig, 6).Value = "EN COURS"
       ElseIf Sheets("Liste").Cells(lig, 2).Value = "" Then
       Sheets("Liste").Cells(lig, 6).Value = ""
       End If
merci de votre aide