J'utilise DateTime.Now
dans ma macro Excel pour afficher l'horodatage actuel.
Il affiche l'horodatage au format "jj-mm-aaaa hh: mm: ss".
À la place, comment puis-je obtenir l'horodatage au format "aaaa-MM-jj hh: mm: ss"?
Essayez avec: format(now(), "yyyy-MM-dd hh:mm:ss")
DateTime.Now
renvoie une valeur de type de données Date
. Les variables de date affichent les dates en fonction du format de date court et du format d'heure définis sur votre ordinateur.
Ils peuvent être formatés en tant que chaîne pour être affichés dans n’importe quel format de date valide à l’aide de la fonction Format
, comme indiqué dans d’autres réponses
Format(DateTime.Now, "yyyy-MM-dd hh:mm:ss")
Format(Now(), "yyyy-MM-dd hh:mm:ss")
cela a fonctionné mieux pour moi:
Cells(partcount + 5, "N").Value = Date + Time
Cells(partcount + 5, "N").NumberFormat = "mm/dd/yy hh:mm:ss AM/PM"
Si certains utilisateurs du code ont des paramètres de langue différents, le format peut ne pas fonctionner. Ainsi j'utilise le code suivant qui donne l'horodatage au format "yyymmdd hhMMss" quelle que soit la langue.
Function TimeStamp()
Dim iNow
Dim d(1 To 6)
Dim i As Integer
iNow = Now
d(1) = Year(iNow)
d(2) = Month(iNow)
d(3) = Day(iNow)
d(4) = Hour(iNow)
d(5) = Minute(iNow)
d(6) = Second(iNow)
For i = 1 To 6
If d(i) < 10 Then TimeStamp = TimeStamp & "0"
TimeStamp = TimeStamp & d(i)
If i = 3 Then TimeStamp = TimeStamp & " "
Next i
End Function
Copier et coller ce format aaaa-mm-jj hh: MM: ss dans les cellules de format en cliquant sur la catégorie de douane sous Type
Horodatage lors de l'enregistrement du chemin du classeur, le ":
" doit être modifié. J'ai utilisé ":
" -> ".
", ce qui implique que je dois rajouter l'extension "xlsx
".
wb(x).SaveAs ThisWorkbook.Path & "\" & unique(x) & " - " & Format(Now(), "mm-dd-yy, hh.mm.ss") & ".xlsx"