Calculer une date à plus x jour "WorksheetFunction"

Bonjour le forum

Quelqu'un connait-il la fonction "WorksheetFunction" pour calculer une date en fonction de + x jours.

exemple le 03/05/2016 + 20 jours = 23/05/2016

D'avance je vous remercie pour votre aide et votre attention

BONJOUR

Essayer ca :

Sub test()
Dim FirstDate As Date    ' Déclare les variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "d"    ' "m" indique l'intervalle en mois.
FirstDate = InputBox("Entrez une date")
Number = InputBox("Entrez le nombre de jours à ajouter")
Msg = "Nouvelle date: " & DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg
End Sub

Bonjour,

Utilise donc DateAdd :

DateAdd("d", 20, DateSerial(2016, 5, 3))

Tu peux faire aussi :

DateSerial(2016, 5, 3 + 20)
ou
DateSerial(2016, 5, 3) + 20

Dans ce cas les fonctions de feuille de calcul n'ont pas de valeur ajoutée par rapport aux fonctions VB.

Cordialement.

edit: et si tu disposes déjà de la date du 03/05 dans une variable, tu fais juste : +20 !

Bonsoir le forum

Bonsoir AMIR et MFerrand, merci pour votre attention et votre aide

Il y a quelque temps Yvouille m'avait donné la formule pour mettre dans une macro pour calculer une date à plus 3 mois,

c'était impec tout allez bien, mais voilà j'ai une mauvaise interprétation du calcul suivant

date + 12 semaines (donc pour moi 3 mois donc 90 jours) n'est pas égale à date + 12 x 7 jours = 84 jours

voilà pourquoi je demandais à calculer une date avec la méthode "WorksheetFunction"

Je vous joins le fichier pour que vous puissiez voir comment est faite la formule

J'ai chercher sur le net, la méthode méthode "WorksheetFunction" pour calculer en jour et non pas en mois mais je ne trouve pas

11fichierrac-v2.xlsm (22.63 Ko)

Si tu ajoutes 3 mois, ce sera 3 mois de date à date, ce qui fera selon le cas 90, 91 ou 92 jours.

Si tu ajoutes 7 semaines, cela 84 jours.

Le tout est de savoir ce que tu veux ajouter !

VBA dispose de toutes les fonctions nécessaires en matière de dates, donc l'intérêt d'aller chercher une fonction Excel avec WorksheetFunction est nul. VBA calculera plus rapidement en utilisant une fonction VBA. Tu as toutes les options :

Si tu veux ajouter des mois tu utilises DateAdd, avec le paramètre "m" comme indiqué.

Si tu ajoutes des jours, tu utilises DateAdd avec le paramétre "d" ou "y" ou tu ajoutes simplement le nombre de jours voulus à la date de référence.

Cordialement.

Bonsoir le forum

Merci Mferrand et AMIR pour votre aide

Voici ce que j'ai fais je laisse le code au cas ou

Sub date1()
dateachanger = CDate(Date)
Range("b1").Value = DateAdd("d", 84, dateachanger)
End Sub

Pas de problème, ça marche, tu ajoutes 84 jours.

Mais enregistre que tu peux le faire de diverses façons, le jour étant l'unité en matière de dates...

Par exemple :

Sub date1()
    dateachanger = CDate(Date) + 84
    Range("b1").Value = dateachanger
End Sub

te donne le même résultat, sans utiliser de fonction.

Bonne continuation.

Rechercher des sujets similaires à "calculer date jour worksheetfunction"