Donc, la fonction =Now()
.... est-il possible de l'utiliser et d'obtenir uniquement la date, pas l'heure?
ou y a-t-il juste une fonction pour cette idée?
Il y a fonction Date .
Les dates dans VBA ne sont que des nombres à virgule flottante, où la partie entière représente la date et la partie fraction représente l'heure. Ainsi, en plus d'utiliser la fonction Date
comme le dit tlayton (pour obtenir la date actuelle), vous pouvez également convertir une valeur de date en un entier pour obtenir la partie date à partir d'une date arbitraire : Int(myDateValue)
.
DateValue(CStr(Now()))
C'est le meilleur que j'ai trouvé. Si vous avez déjà la date sous forme de chaîne, vous pouvez simplement faire:
DateValue("12/04/2012 04:56:15")
ou
DateValue(*DateStringHere*)
J'espère que cela aide quelqu'un ...
Je préfère créer une fonction qui ne fonctionne pas avec des chaînes:
'---------------------------------------------------------------------------------------
' Procedure : RemoveTimeFromDate
' Author : berend.nieuwhof
' Date : 15-8-2013
' Purpose : removes the time part of a String and returns the date as a date
'---------------------------------------------------------------------------------------
'
Public Function RemoveTimeFromDate(DateTime As Date) As Date
Dim dblNumber As Double
RemoveTimeFromDate = CDate(Floor(CDbl(DateTime)))
End Function
Private Function Floor(ByVal x As Double, Optional ByVal Factor As Double = 1) As Double
Floor = Int(x / Factor) * Factor
End Function
Vous pouvez également utiliser le format $ (Now (), "Short Date") ou le format de date de votre choix. Sachez que cette fonction renverra la date sous forme de chaîne, donc utiliser Date () est une meilleure approche.
Collez cette fonction dans votre module et utilisez-la comme une formule similaire
Public Function format_date(t As String)
format_date = Format(t, "YYYY-MM-DD")
End Function
par exemple, dans la cellule A1, appliquez cette formule
=format_date(now())
il reviendra au format AAAA-MM-JJ. Modifiez n'importe quel format (date année mois) selon vos souhaits.