Problème de gestion de date en VBA

Bonjour à tous.

Je me permet de poster à nouveau pour un problème de gestion de date en vba ...

Mon problème est le suivant : j'ai quelques ligne de codes qui scannent toutes les lignes d'un tableau avec un do until isempty. Le but est de supprimer toutes les lignes contenant une date supérieure au lendemain à 4h du matin ...

Actuellement, j'utilise une méthode barbare : j'ai stocké, dans une feuille masquée, la date d'aujourd'hui (avec une fonction aujourdhui() ... 😊) à laquelle j'ajoute 1+1/6 (pour faire un jour et 4h) ... je compare chaque date à cette derniere cellule .

.Oui je sais, c'est archaïque comme méthode...

J'aimerais définir la date du lendemain 4h de manière automatique en vba, mais comment faire ça simplement ?

J'ai entendu parler de la fonction Now() mais elle me renvoie la date et l'heure de l'instant présent ... c'est trop précis, je n'arrivais pas à définir le lendemain 4h à partir du Now() brut ... comment trouver la date du jour "arrondie inferieur" directement ?

Merci de vos réponses! 😁

Onafe57

Salut Onafe,

un fichier, peut-être, histoire de voir comment se présente tout ça?

A+

Bonjour Onafe57,

à tester,

dt = Format(DateSerial(Year(Date), Month(Date), Day(Date) + 1) + #4:00:00 AM#, "yyyy-mm-dd hh:mm")

Bonjour,

Une petite fonction à utiliser dans un module standard :

Function Demain() As Date
    Demain = DateAdd("h", 4, Date + 1)
End Function

Bonjour à tous.

Merci pour toutes vos réponses! Ce forum est génial car hyper actif, j'hallucine à chaque fois que je vois votre délai de réponse super court ! C'est top !

Jean Eric, je crée cette fonction dans un module vierge donc, et j'appelle Demain() quand je veux comparer les dates de mon fichier ?

i20100, je vais essayer pour voir également.

curulis57 (lorrain toi aussi ? 😊), je pratique le vba sur des outils dans un cadre professionnel. Je ne peux pas trop me permettre de vous transmettre les données sources. Mais si les solutions de Jean Eric et i20100 ne fonctionnaient pas, je vous posterais quelques extraits de code !

Cordialement,

Onafe57.

Bonjour,

Un exemple d'utilisation de la fonction Demain() :

Sub TEST()
    If Demain > taDate Then MsgBox "OK"
End Sub

Super !

Je vais tester ça des que possible !

Merci.

Onafe57.

Salut à tous !

La solution de Jean-Erik fonctionne. Merci beaucoup !

Cordialement.

Onafe57.

Bonjour,

Merci de ce retour.

Pense à clore le sujet.

Cdlt.

Rechercher des sujets similaires à "probleme gestion date vba"