Utiliser date dans un variable

BoJav Messages postés 49 Statut Membre -  
BoJav Messages postés 49 Statut Membre -
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. ThauTheme Messages postés 1564 Statut Membre 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
  2. BoJav Messages postés 49 Statut Membre
     
    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
  3. ThauTheme Messages postés 1564 Statut Membre 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
  4. BoJav Messages postés 49 Statut Membre
     
    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