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