Jour ouvrable précédent & jour ouvrable suivant en VBA

VBA: jour ouvrable

Si vous cherchez la manière de calculer, en VBA, le jour ouvrable précédent ou jour ouvrable suivant à une date spécifique, vous trouverez ci-bas la solution.
Il s'agit de deux fonctions qui utilisent comme argument la date par rapport à laquelle on doit chercher le jour ouvrable précédent et suivant.

Les fonctions sont assez simples et il vous suffira de les copier/coller dans votre Projet VBA
Attention: ces fonctions ne tiennent compte uniquement des week-ends (les jours fériés ne sont pas pris en compte).

Le jour ouvrable précédent en VBA

Voici donc le code VBA de la première fonction…

 

Le jour ouvrable suivant en VBA

Et pour le jour ouvrable suivant, utilisez cette fonction:

 

Attention au format Date!

Comme vous pouvez le voir, les deux fonctions travaillent avec les arguments de type Date. C'est à dire que quand vous voulez faire "passer" une date dans cette fonction, il doit vraiment s'agir d'une "Date" dans le sens du VBA.

    • Une date comme "10/12/2021" ne va pas fonctionner car il s'agit d'une valeur de type String (chaîne de caractères).
    • Si vous omettez les guillemets pour éviter que la date soit considéré comme un String, cela ne résoudra pas le problème car 10/12/2021 sera interprété par VBA comme 10 divisé par 12 divisé par 2021 et vous obtiendrez une valeur de 4,12 à la place d'une date…
    • Une date en VBA, pour être considérée comme telle, doit être entouré de croisillons # – donc ici #10/12/2021# . Mais là aussi, vous devez vous méfier à la confusion entre les jours et les mois…

La manière la plus simple et la plus fiable d'obtenir une valeur au format date est l'utilisation de la fonction VBA DateSerial(). De cette manière, vous évitez les mauvaises surprises comme par exemple la confusion entre le format européen (jj/mm/aaaa) et le format américain (mm/jj/aaaa).
Vous pouvez voir comment faire dans la section qui suit.

Exemples d'utilisation de ces deux fonctions de recherche de jours ouvrables

Voici donc un exemple qui montre comment trouver les deux jours ouvrable par rapport à une date déterminée (ici le 23/11/2021).

N'oubliez pas: pour que cet exemple fonctionne, vous devez avoir copié dans votre Projet VBA tous les trois codes sources se trouvant sur cette page (les 2 fonctions + la procédure (Sub) de test).

Pour en savoir plus sur VBA (et les dates)

D'autres articles intéressants au sujet des dates en VBA…

 

Laissez un commentaire

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

Commentaire sur “Jour ouvrable précédent & jour ouvrable suivant en VBA”