VBA Fonctions de base


Exemple

Récupérer la date et l'heure du système

VBA prend en charge 3 fonctions intégrées pour récupérer la date et / ou l'heure de l'horloge du système.

Fonction Type de retour Valeur de retour
À présent Rendez-vous amoureux Renvoie la date et l'heure actuelles
Rendez-vous amoureux Rendez-vous amoureux Renvoie la date de la date et de l'heure actuelles
Temps Rendez-vous amoureux Renvoie la partie heure de la date et de l'heure actuelles
Sub DateTimeExample()

    ' -----------------------------------------------------
    ' Note : EU system with default date format DD/MM/YYYY
    ' -----------------------------------------------------
    
    Debug.Print Now   ' prints 28/07/2016 10:16:01 (output below assumes this date and time)
    Debug.Print Date  ' prints 28/07/2016
    Debug.Print Time  ' prints 10:16:01
    
    ' Apply a custom format to the current date or time
    Debug.Print Format$(Now, "dd mmmm yyyy hh:nn")  ' prints 28 July 2016 10:16
    Debug.Print Format$(Date, "yyyy-mm-dd")         ' prints 2016-07-28
    Debug.Print Format$(Time, "hh") & " hour " & _
                Format$(Time, "nn") & " min " & _
                Format$(Time, "ss") & " sec "       ' prints 10 hour 16 min 01 sec
    
End Sub

Fonction minuterie

La fonction Timer renvoie un Single représentant le nombre de secondes écoulées depuis minuit. La précision est un centième de seconde.

Sub TimerExample()

    Debug.Print Time    ' prints 10:36:31  (time at execution)
    Debug.Print Timer   ' prints 38191,13  (seconds since midnight)

End Sub

Parce que les fonctions Now and Time ne sont précises qu'en secondes, Timer offre un moyen pratique d'augmenter la précision de la mesure du temps:

Sub GetBenchmark()
       
    Dim StartTime  As Single
    StartTime = Timer       'Store the current Time
    
    Dim i As Long
    Dim temp As String
    For i = 1 To 1000000    'See how long it takes Left$ to execute 1,000,000 times
        temp = Left$("Text", 2)
    Next i
    
    Dim Elapsed As Single
    Elapsed = Timer - StartTime
    Debug.Print "Code completed in " & CInt(Elapsed * 1000) & " ms"

End Sub

IsDate ()

IsDate () teste si une expression est une date valide ou non. Renvoie un Boolean .

Sub IsDateExamples()

    Dim anything As Variant
       
    anything = "September 11, 2001"

    Debug.Print IsDate(anything)    'Prints True
            
    anything = #9/11/2001#

    Debug.Print IsDate(anything)    'Prints True
   
    anything = "just a string"

    Debug.Print IsDate(anything)    'Prints False

    anything = vbNull
    
    Debug.Print IsDate(anything)    'Prints False
    
End Sub