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 :
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sheets("Liste").Cells(lig, 3).Value > Sheets("Recherche").Cells(1, 1).Value
il n'y a une erreur 13
Code : Sélectionner tout - Visualiser dans une fenêtre à part CDATE(Sheets("Liste").Cells(lig, 3).Value) > CDATE(Sheets("Recherche").Cells(1, 1).Value)
voici mon code:
merci de votre aide
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
Partager