Comment comparer des dates dans VBA (avec des exemples)



Vous pouvez utiliser la syntaxe de base suivante dans VBA pour comparer deux dates :

Sub CompareDates()
    Dim i As Integer

    For i = 2 To 5
        If CDate(Range("A" & i)) < CDate(Range("B" & i)) Then
            Result = "First Date is Earlier"
    Else
        If CDate(Range("A" & i)) > CDate(Range("B" & i)) Then
                Result = "First Date is Later"
            Else
                Result = "Dates Are Equal"
            End If
        End If
        
    Range("C" & i) = Result
    
    Next i
End Sub

Cet exemple particulier comparera les dates dans les cellules correspondantes dans les plages A2:A5 et B2:B5 et renverra le résultat des comparaisons de dates dans la plage C2:C5 .

Remarque : La fonction CDate convertit la valeur d’une cellule donnée en date.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : comparer des dates dans VBA

Supposons que nous ayons les deux colonnes suivantes avec des dates dans Excel :

Supposons que nous souhaitions comparer les dates dans chaque ligne correspondante et afficher les résultats de la comparaison des dates dans la colonne C.

Nous pouvons créer la macro suivante pour ce faire :

Sub CompareDates()
    Dim i As Integer

    For i = 2 To 5
        If CDate(Range("A" & i)) < CDate(Range("B" & i)) Then
            Result = "First Date is Earlier"
    Else
        If CDate(Range("A" & i)) > CDate(Range("B" & i)) Then
                Result = "First Date is Later"
            Else
                Result = "Dates Are Equal"
            End If
        End If
        
    Range("C" & i) = Result
    
    Next i
End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Les résultats des comparaisons de dates sont désormais affichés dans la colonne C.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

VBA : Comment trier une feuille sur plusieurs colonnes
VBA : Comment compter le nombre de lignes dans la plage
VBA : comment filtrer une colonne

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *