Dans cet article, nous allons créer une macro pour formater l’heure au format hh: mm.sss.

Les données brutes pour cet exemple se composent de certaines valeurs de temps dans la colonne E.

ArrowSampleData

Dans cet article, nous avons créé une fonction définie par l’utilisateur (ou fonction personnalisée) «HHMMSSSFormat». Cette fonction prend le type de date comme entrée et renvoie la sortie au format de données chaîne au format hh: mm.sss.

Explication logique

Dans la fonction «HHMMSSSFormat» pour convertir 60 secondes en un nombre à trois chiffres, nous avons divisé les secondes de la valeur de temps définie par 60 pour obtenir une fraction pour les secondes définies, puis nous l’avons multipliée par mille pour obtenir le nombre à trois chiffres.

La fonction «HHMMSSSFormat» peut être utilisée en appelant soit directement dans la feuille Excel, soit en utilisant la fonction à l’intérieur de l’autre procédure (ou macro).

L’image ci-dessous montre comment nous avons utilisé la fonction «HHMMSSSFormat» dans la feuille Excel pour dériver l’heure au format hh: mm.sss.

ArrowCustomFunction

Nous avons également créé une macro «GettingCurrentTimeinHHMMSSSFormat» qui utilise la fonction «HHMMSSSFormat» pour afficher l’heure actuelle au format hh: mm.sss dans une boîte de message. L’image ci-dessous montre la sortie lorsque nous exécutons cette macro à 3: 54: 30s.

ArrowMacroOutput

Veuillez suivre ci-dessous pour le code

Option Explicit

Function HHMMSSSFormat(DateTime As Date) As String

'function will return string value

'Declaring integer variable

Dim SecondValue As Integer

'Extracting seconds from DateTime parameter

SecondValue = Second(DateTime)

'Converting seconds value to three digit number

SecondValue = (SecondValue / 60) * 1000

'Change the formatting of time in the required format

HHMMSSSFormat = Format(Hour(DateTime), "00") & ":" & _

Format(Minute(DateTime), "00") & "." & Format(SecondValue, "000")



End Function

Sub GettingCurrentTimeinHHMMSSSFormat()

'Declaring string variable

Dim CurrentTime As String

'Calling custom function HHMMSSSFormat

CurrentTime = HHMMSSSFormat(Now)

'Displaying message box with Ok button only

MsgBox CurrentTime, vbOKOnly, "Current Time"

End Sub

Si vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous serions ravis de vous entendre, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]