Comparaisons de date dans une colonne par rapport au JOUR actuel

Bonjour,

je bute sur un petit soucis, dans une feuille excel où des dates sont générées dans une colonne et chaque fin de mois le programme enregistre et se vide. pour le moment j'utilise une fonction onetime mais cela fonctionne que si le fichier est ouvert le dernier jours du mois et au moment du passage au premier jours ... du coup si il est pas ouvert ca ne marche pas

je pensais donc faire qu'à l'ouverture de cette feuille de faire comparer la dernière datequi est encodée dans la colonne A à partir de A6 qui est au format (dd/mm/yyyy) par rapport au jour actuel et donc si le jour est plus petit on lance la procédure par exemple ci dessous ajd le 1/11/2020 le 1 est plus petit que le 31 donc on appel la procédure .

Merci beaucoup à vous.

01/10/2020fsdgdfbfhsdf
11/10/2020
31/10/2020

Bonjour,

Voici un essai de code à copier dans le module ThisWorkbook :

private sub workbook_open()

dim fdate as worksheet
dim nb%

set fdate = sheets("nomfeuilleciblee") '<<<<<< MODIFIER PAR VRAI NOM

with fdate
    if application.max(.range("macolonneaveclesdates")) < date then 'MODIFIER PAR VRAIE REF (EX : Range("A1:A100"))
        nb = application.counta(.range("macolonneaveclesdates"))
        .range("macolonneaveclesdates")(nb+1) = application.eomonth(date, 0)
    end if
end with

end sub

Il faudra cependant mettre les bonnes références.

Cdlt,

Bonjour,

Merci je test ça dans la semaine et reviens vers vous pour le résultat :)

Bonjour j'ai testé mais ca ne faisais pas vraiment ce que je voulais..

j'ai adapté en (voir ci-dessous) mais le soucis c'est donc que ca compare la date entière alors que moi il faudrai comparer le jour ou bien le mois

car enfaite la procedure fait que lorsque l'on ouvre cette feuille si l'AVANT-DERNIERE date encodée dans la colonne est celle du mois passé on lance une procedure (qui va l'archivée et reserter ce tableau )

pour cela que j'aimerai que ca compare donc le jour ou le mois

merci à vous

Private Sub Worksheet_Activate()

Dim fdate As Worksheet
Dim nb%
Set fdate = Sheets("test1") '<<<<<< MODIFIER PAR VRAI NOM
With fdate
If Application.Max(.Range("A1:A500")) < Date Then 'MODIFIER PAR VRAIE REF (EX : Range("A1:A100"))

MsgBox ("test")

End If
End With

End Sub

Bonjour,

Alors, je ne comprends pas très bien le problème. Ce que je comprends, c'est que si la date du jour est supérieur au dernier jour du mois de la date la plus élevée, on lance la procédure. Donc :

private sub workbook_open()

dim fdate as worksheet
dim nb%

set fdate = sheets("test1") '<<<<<< MODIFIER PAR VRAI NOM

with application
    if .eomonth(.max(fdate.range("A1:A500")), 0) < date then
        msgbox "test"
        'code à exécuter si condition ok
    end if
end with

end sub

Ici, si on est le 6 novembre et que la date la plus récente saisie en A1:A500 est inférieur au 1er novembre, on exécute. Sinon, il ne se passe rien.

Cdlt,

Rechercher des sujets similaires à "comparaisons date colonne rapport jour actuel"