Comment utiliser NetworkDays dans VBA (avec exemple)
Vous pouvez utiliser la méthode NetworkDays dans VBA pour rechercher le nombre de jours ouvrables entiers entre des dates de début et de fin spécifiques.
Notez que les jours ouvrables excluent les week-ends et les jours fériés.
Voici une façon courante d’utiliser cette méthode dans la pratique :
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
Cet exemple particulier calcule le nombre de jours ouvrables entre les dates de début dans la plage A2:A9 et les dates de fin dans la plage B2:B9 et affiche les résultats dans la plage C2:C9 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : Comment utiliser NetworkDays dans VBA
Supposons que nous ayons la liste suivante de dates de début et de fin dans Excel :
Supposons que nous souhaitions utiliser la méthode NetworkDays dans VBA pour calculer le nombre de jours ouvrables entiers entre les dates de début et de fin de chaque ligne.
Nous pouvons créer la macro suivante pour ce faire :
Sub CalculateNetworkDays()
Dim i As Integer
For i = 2 To 9
Range("C" & i) = WorksheetFunction.NetworkDays(Range("A" & i), Range("B" & i))
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
La colonne C indique le nombre de jours ouvrables entiers entre les dates de début et de fin dans chaque ligne.
Par exemple:
- Le nombre de jours ouvrés entre le 1/2/2023 et le 1/3/2023 est de 2 . (puisque ces deux dates sont en semaine).
- Le nombre de jours ouvrés entre le 1/5/2023 et le 1/8/2023 est de 2 .
- Le nombre de jours ouvrés entre le 10/01/2023 et le 20/01/2023 est de 9 .
Et ainsi de suite.
Remarque : Vous pouvez trouver la documentation complète de la méthode NetworkDays en VBA 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 utiliser IsDate pour vérifier si la cellule est une date
VBA : Comment utiliser mm/jj/aaaa comme format de date