Utiliser date dans un variable

BoJav Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
BoJav Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaye d'utiliser une date contenue dans une cellule (que j'ai nommé FirstDayT1) dans une macro. J'ai essayé avec une variable ( Dim D as Date)

La macro marche que si j'y écrit la date #01/01/2022# mais pas en utilisant D

D = Sheets("Lists").Range("O1").Value


    For Z = LRcg_Employe To 8 Step -1
        If Range("D" & Z).Value < D And Range("D" & Z).Value <> "" Then
        Rows(Z).Hidden = True
        End If
    Next

End Sub



Et cela ne marche pas non plus si je tente

    For Z = LRcg_Employe To 8 Step -1
        If Range("D" & Z).Value < FirstDayT1.value And Range("D" & Z).Value <> "" Then
        Rows(Z).Hidden = True
        End If
    Next

End Sub


D'avance merci


Configuration: Windows / Chrome 98.0.4758.82
A voir également:

4 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour BoJav, bonjoru le forum,

On ne peut rien vérifié sans le fichier qui va bien. Donc impossible de te donner une explications. Pour joindre un fichier voir par exemples : https://www.cjoint.com/
0
BoJav Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour ThauTheme

Voici le lien du fichier

https://www.cjoint.com/c/LBqkwwf0OeH

La macro TestDate1 fonctionne, c'est la TestDate2 avec utilisation d'un range nommée qui me pose problème.

D'avance merci
0
ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour Bojav, bonjour le forum,

deux propositions :
Sub TestDate2()
Dim LRcg As Integer
Dim D As Date

LRcg = Sheets("Employes").Range("A1000").End(xlUp).Row
D = CDate(Range("FirstDayT1").Value)
For Z = LRcg To 8 Step -1
    If Range("B" & Z).Value < D And Range("B" & Z).Value <> "" Then
    Rows(Z).Hidden = True
    End If
Next
End Sub

ou
Sub TestDate2()
Dim LRcg As Integer
Dim D As Range

Set D = Range("FirstDayT1")
LRcg = Sheets("Employes").Range("A1000").End(xlUp).Row
For Z = LRcg To 8 Step -1
    If Range("B" & Z).Value < CDate(D.Value) And Range("B" & Z).Value <> "" Then
    Rows(Z).Hidden = True
    End If
Next
End Sub


Quand tu veux désigner une plage nommée la syntaxe c'est Range("Ta_Plage_nommée")
0
BoJav Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
Haaa voilà, histoire e syntaxe, c'est fou ce qu'on peut perdre comme temps et sueur pour des histoires de ( ) et de " "

Merci bcp
0