VBA : Comment additionner si entre deux dates



Vous pouvez utiliser la syntaxe suivante dans VBA pour calculer la somme si les cellules sont entre deux dates :

Sub SumifBetweenDates()
Range("E3") = WorksheetFunction.SumIfs(Range("B2:B9"), Range("A2:A9"), ">=" & [E1], _
                                                       Range("A2:A9"), "<=" & [E2])
End Sub

Cet exemple particulier additionnera les valeurs de la plage B2:B9 uniquement lorsque la date de la plage A2:A9 se situe entre la date de début dans la cellule E1 et la date de fin dans la cellule E2 .

La somme sera alors affichée dans la cellule E3 .

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

Exemple : Comment additionner If entre deux dates dans VBA

Supposons que nous disposions de l’ensemble de données suivant contenant des informations sur le nombre total de produits vendus à différentes dates dans un magasin de détail :

Supposons que nous souhaitions calculer la somme des ventes uniquement pour les dates comprises entre le 07/01/2023 et le 26/01/2023 .

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

Sub SumifBetweenDates()
Range("E3") = WorksheetFunction.SumIfs(Range("B2:B9"), Range("A2:A9"), ">=" & [E1], _
                                                       Range("A2:A9"), "<=" & [E2])
End Sub

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

Notez que la cellule E3 contient la valeur 16 .

Cela représente la somme des valeurs de la colonne des ventes où la date est comprise entre le 07/01/2023 et le 26/01/2023.

Nous pouvons vérifier que cela est correct en calculant manuellement la somme des valeurs dans la colonne Ventes où la valeur correspondante dans la colonne Date est comprise entre le 7/01/2023 et le 26/01/2023 :

Somme des ventes : 3 + 7 + 6 = 16 .

Cela correspond à la valeur calculée par VBA.

Notez que si vous modifiez les valeurs des dates de début et de fin dans les cellules E1 et E2 , respectivement, et que vous exécutez à nouveau la macro, elle calculera la somme des ventes pour les nouvelles dates.

Remarque : Il est supposé que les valeurs de la colonne date sont déjà formatées en dates dans Excel.

Ressources additionnelles

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

VBA : Comment écrire des fonctions SUMIF et SUMIFS
VBA : Comment écrire les fonctions COUNTIF et COUNTIFS
VBA : Comment écrire des fonctions AVERAGEIF et AVERAGEIFS

Ajouter un commentaire

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