VBA nombre de jours entre 2 dates
Résolu
doom56530
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'essaye de calculer la différence entre deux dates à l'aide d'une macro pour une base de données.
J'arrive à calculer cette différence sur une seule ligne. J'utilise le code suivant :
Sub dif_date ()
Dim Dat1 as Date
Dim Dat2 as Date
Dim nbr_jr as Integer
Dat1 = Range("A1")
Dat2 = Range ("B1")
nbr_jr = Dat2 - Dat1
Range ("C1") = nbr_jr
End sub
Jusque là tout fonctionne comme je le désire.
Ce calcul doit se faire systématiquement (pour chaque nouvelle entrée) quand je valide dans un formulaire.
J'essaye de faire une boucle mais chaque fois ça bug.
Sub dif_date ()
Dim Dat1 as Date
Dim Dat2 as Date
Dim nbr_jr as Integer
Dim i as Integer
For i = 1 to 20
Dat1 = Range("A" & i)
Dat2 = Range ("B" & i)
nbr_jr = Dat2 - Dat1
Range ("C" & i) = nbr_jr
Next i
End sub
Si vous pouviez détecter mes erreurs ou me donner une idée pour résoudre mon problème ce serait super.
Merci d'avance
J'essaye de calculer la différence entre deux dates à l'aide d'une macro pour une base de données.
J'arrive à calculer cette différence sur une seule ligne. J'utilise le code suivant :
Sub dif_date ()
Dim Dat1 as Date
Dim Dat2 as Date
Dim nbr_jr as Integer
Dat1 = Range("A1")
Dat2 = Range ("B1")
nbr_jr = Dat2 - Dat1
Range ("C1") = nbr_jr
End sub
Jusque là tout fonctionne comme je le désire.
Ce calcul doit se faire systématiquement (pour chaque nouvelle entrée) quand je valide dans un formulaire.
J'essaye de faire une boucle mais chaque fois ça bug.
Sub dif_date ()
Dim Dat1 as Date
Dim Dat2 as Date
Dim nbr_jr as Integer
Dim i as Integer
For i = 1 to 20
Dat1 = Range("A" & i)
Dat2 = Range ("B" & i)
nbr_jr = Dat2 - Dat1
Range ("C" & i) = nbr_jr
Next i
End sub
Si vous pouviez détecter mes erreurs ou me donner une idée pour résoudre mon problème ce serait super.
Merci d'avance
A voir également:
- Calcul jours entre 2 dates
- Nombre de jours entre deux dates excel - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Compte facebook suspendu 180 jours - Guide
- Calcul moyenne excel - Guide
- 2 ecran pc - Guide
2 réponses
Attention, tu dois vérifier que ton résultat 'nbr_jr' soit positif; sinon ça plante.
PS: il existe une fonction toute prête pour calculer un écart entre 2 date: DateDiff("d",date1,date2)
PS: il existe une fonction toute prête pour calculer un écart entre 2 date: DateDiff("d",date1,date2)
merci à toi j'ai essayé avec DateDiff et ça fonctionne nickel.
Bonjour,
Extrait de l'aide en ligne Excel hé, oui, c'est gratuit et utile
DateDiff, fonction
Voir aussi Exemple Particularités
Renvoie une valeur de type Variant (Long) indiquant le nombre d'intervalles de temps entre deux dates données.
Syntaxe
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
La syntaxe de la fonction DateDiff comprend les arguments nommés suivants :
Élément Description
interval Expression de chaîne correspondant à l'intervalle de temps utilisé pour calculer la différence entre date1 et date2.
date1, date2 De type Variant (Date), représentent les deux dates utilisées dans le calcul.
firstdayofweek Facultatif. Constante précisant le premier jour de la semaine. Si aucune valeur n'est précisée, la valeur par défaut est dimanche.
Firstweekofyear Facultatif. Constante précisant la première semaine de l'année. Si aucune valeur n'est précisée, la première semaine est par défaut celle du 1er janvier.
Valeurs
L'argument interval peut prendre les valeurs suivantes :
Valeur Description
yyyy Année
q Trimestre
m Mois
y Jour de l'année
d Jour
w Jour de la semaine
ww Semaine
h Heure
n Minute
s Seconde
Extrait de l'aide en ligne Excel hé, oui, c'est gratuit et utile
DateDiff, fonction
Voir aussi Exemple Particularités
Renvoie une valeur de type Variant (Long) indiquant le nombre d'intervalles de temps entre deux dates données.
Syntaxe
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
La syntaxe de la fonction DateDiff comprend les arguments nommés suivants :
Élément Description
interval Expression de chaîne correspondant à l'intervalle de temps utilisé pour calculer la différence entre date1 et date2.
date1, date2 De type Variant (Date), représentent les deux dates utilisées dans le calcul.
firstdayofweek Facultatif. Constante précisant le premier jour de la semaine. Si aucune valeur n'est précisée, la valeur par défaut est dimanche.
Firstweekofyear Facultatif. Constante précisant la première semaine de l'année. Si aucune valeur n'est précisée, la première semaine est par défaut celle du 1er janvier.
Valeurs
L'argument interval peut prendre les valeurs suivantes :
Valeur Description
yyyy Année
q Trimestre
m Mois
y Jour de l'année
d Jour
w Jour de la semaine
ww Semaine
h Heure
n Minute
s Seconde
DateDiff("d", "2016 / 01 / 10", "2016 / 01 / 16")