Comment soustraire des jours à une date dans VBA (avec exemple)



Vous pouvez utiliser la fonction DateAdd dans VBA avec un nombre négatif pour soustraire un nombre spécifique de jours d’une date.

Voici une manière courante d’utiliser cette fonction dans la pratique :

Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range("B" & i) = DateAdd("d", -4, Range("A" & i))
    Next i
    
End Sub

Cette macro particulière soustraira quatre jours à chaque date dans la plage A2:A10 et affichera les nouvelles dates dans la plage B2:B10 .

Notez que l’argument « d » dans la fonction DateAdd spécifie que nous souhaitons soustraire des jours aux dates plutôt qu’une autre unité de temps.

Reportez-vous à la page de documentation VBA pour une liste complète des unités que vous pouvez utiliser dans la fonction DateAdd .

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

Exemple : soustraire les jours de la date dans VBA

Supposons que nous ayons la liste de dates suivante dans Excel :

Supposons que nous souhaitions soustraire quatre jours à chaque date et afficher les nouvelles dates dans la colonne B.

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

Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range("B" & i) = DateAdd("d", -4, Range("A" & i))
    Next i
    
End Sub

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

VBA soustrait les jours de la date

Notez que la colonne B contient chacune des dates de la colonne A avec quatre jours soustraits.

N’hésitez pas à modifier la valeur numérique dans la fonction DateAdd pour soustraire un nombre de jours différent à chaque date.

Remarque : Vous pouvez trouver la documentation complète de la fonction DateAdd dans VBA ici .

Ressources additionnelles

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

Comment comparer les dates dans VBA
Comment convertir une chaîne en date dans VBA
Comment calculer les jours entre deux dates en VBA

Ajouter un commentaire

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