Format de Date et Calcul d'une durée sous VBA
:cry:Bonjour à tous,
je rencontre un petit soucis sur VBA: en fait je souhaite que excel me calcule la différence entre la date du jour (Datetime.now) et une date saisie dans une feuille excel, seulement il ne semble pas comprendre que la cellule de la feuille est une date.
Pour info voici ma macro:
Code:
1 2 3 4 5 6 7 8 9
|
Dim anc_voit As Range
Dim nb_anc_voit As Integer
Sheets("Voiture").Select
nb_anc_voit = 0
For Each anc_voit In Range("H2", Selection.End(xlDown))
If Date.Now - date.value("anc_voit") >= 5 Then nb_anc_voit = nb_anc_voit + 1
Next |
Mon objectif étant de calculer le nombre de voiture ayant un âge d'au moins 5 ans.
Seulement avec cette macro, excel bug au niveau du IF
Si quelqu'un a une solution j'en serais extrement reconnaissante :)
Ayant passé ma journée dessus je désespère!!!
en vous remerciant
Bien cordialement;
Julie
Ajout des balises [CODE].
Bonjour jérôme et wilfried !
Je vous remercie de votre intérêt mais il semble que la boucle for each ne prend en compte que des données types variant ou object, ainsi sauf erreur de ma part vos solutions me renvoient à un résultat de 0,
toutefois je viens juste de trouver une solution qui me convient et que je vous soumet :
Code:
1 2 3 4
| For Each anc_voit In Range("H2", Selection.End(xlDown))
Selection.NumberFormat = "dd/mm/yyyy"
If Year(Date) - Year(anc_voit) > 5 Then nb_anc_voit = nb_anc_voit + 1
Next |
Elle a le défaut de ne prendre en compte que l'année de la date en cours mais ça me suffira pour l'instant.
En vous remerciant très sincèrement.
Cordialement,
Julie