Comparaison des dates en VBA ou Visual Basic pour Applications , est essentiellement la même opération que la comparaison des nombres entiers . Pour faciliter les comparaisons de dates et de simplifier l'utilisation des dates en général , utiliser des noms de variables qui indiquent un type "Date" . Par exemple, écrire « dat1 » ou « birthday1 . " Pour comprendre comment comparer les dates , écrire des programmes courts qui effectuent des comparaisons de date , et d'utiliser le mode d'exécution étape par étape de l'environnement de programmation VBA, avec la fenêtre " Quick Watch " de l'environnement , d'observer ces comparaisons en temps réel. Déterminer le type
Vous n'avez pas besoin de convertir les dates du type "Date" pour les comparaisons s'ils sont déjà dans ce type . Vous pouvez dire si une variable est un type de date dans un couple des manières . Regardez la section des déclarations au début d'une procédure VBA. Cette section est l'endroit où vous déclarez toutes les variables en utilisant le mot-clé " Dim" . Vos variables de date seront déclarés avec des déclarations comme celle-ci: «d1 As date." Une autre façon de vous dire si votre variable est un type "Date" est en regardant les assignations à une variable. Ces missions vont utiliser le caractère «#» , qui désigne le type "Date" . Par exemple, l' instruction suivante affecte la date " 12/1/2001 " à la variable "date" "D1 ".
D1 = # 12/1/2001 #
convertir date Type
Pour comparer les dates de VBA, vous devez d'abord avoir deux dates qui sont stockées dans le type "Date" , qui est l'un des nombreux types de valeur dans VBA. Le type "Date" est un cas particulier du type de données entier , donc comparer les dates est essentiellement la même que la comparaison des nombres entiers . Si vos dates ne sont pas encore dans le type "Date" , vous aurez besoin de les convertir à ce type. Faites cela en appliquant la fonction CDate . Par exemple , exécutez l'instruction suivante pour convertir la chaîne " 12/1/2001 " à un type de date: Photos
D1 = CDate ( " 12/1/2001 " )
la comparaison
Si vous voulez tester si la date d'une variable "Date" se produit avant un autre , utilisez le symbole inférieur , comme le montre l'exemple ci-dessous .
< p > Si ( d1 < d2)
Utilisez le symbole plus grand que pour tester si une date est postérieure à une autre date , et d'utiliser le symbole égal pour voir si les valeurs de deux variables font référence à la même date.
exemple de programme
Écrire un exemple de programme qui convertit et compare les dates de sorte que vous pouvez vous référer au programme lors de l'écriture des programmes VBA plus complexes qui rendent les comparaisons de date. Ouvrez l'environnement de programmation dans l'une des applications Office en cliquant sur " Visual Basic " de l'onglet "Developer " de , puis collez- le programme suivant dans la fenêtre centrale de l'environnement. Ce programme utilise la fonction " CDate " pour convertir les chaînes de dates , et effectue trois comparaisons différentes sur deux dates. Exécutez le programme en appuyant sur la touche "F5 ", et afficher sa sortie en regardant dans la fenêtre " immédiate" .
CompareDates Public Sub ()
d1 , d2 Dim As Date
< p > d1 = CDate ( " 12/1/2001 " )
d2 = CDate ( " 12/1/2002 " )
Si (d1 < d2) Puis Debug.Print "Date 1 survient plus tôt que la date 2 . "
Si (d1 > d2) Puis Debug.Print " Date 1 survient plus tard que la date 2. "
Si (d1 = d2) Puis Debug . Imprimer " Date 1 est la même que la date 2. "
End Sub