Comment utiliser la fonction WorkDay dans VBA (avec exemple)
Vous pouvez utiliser la méthode WorkDay dans VBA pour ajouter ou soustraire un nombre spécifique de jours ouvrables à une date.
Voici une façon courante d’utiliser cette méthode dans la pratique :
Sub AddWorkDays()
Dim i As Integer
For i = 2 To 10
Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i
End Sub
Cette macro particulière ajoute le nombre de jours ouvrables spécifiés dans la plage B2:B10 à chaque date de la plage A2:A10 et affiche les résultats dans la plage C2:C10 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : comment utiliser la fonction WorkDay dans VBA
Supposons que nous ayons une colonne de dates dans Excel ainsi qu’une autre colonne qui spécifie le nombre de jours ouvrables à ajouter à chaque date :
Nous pouvons créer la macro suivante pour ajouter le nombre de jours ouvrables dans la colonne B à chaque date correspondante dans la colonne A :
Sub AddWorkDays()
Dim i As Integer
For i = 2 To 10
Range("C" & i) = WorksheetFunction.WorkDay(Range("A" & i), Range("B" & i))
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Par défaut, la colonne C affiche les dates sous forme de numéros de série.
Pour afficher ces valeurs sous forme de dates reconnaissables, mettez en surbrillance la plage C2:C10 , puis cliquez sur l’onglet Insérer le long du ruban supérieur, puis cliquez sur le menu déroulant Format numérique et cliquez sur Date courte :
Chaque numéro de série sera désormais affiché sous forme de date :
La colonne C affiche chaque date dans la colonne A avec le nombre spécifique de jours ouvrables dans la colonne B ajouté.
Notez que si nous spécifions un nombre négatif dans la colonne B, la méthode WorkDay soustraira ce nombre de jours ouvrables de la date dans la colonne A.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA WorkDay ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment obtenir le nom du mois à partir de la date
VBA : Comment trier par date
VBA : Comment additionner si entre deux dates