Utiliser date dans un variable

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

4 réponses

  1. 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
    1. 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
      1. 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
        1. 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