Macro entre dates sur excel
Fermé
tinette
-
19 août 2009 à 15:33
Loriolette Messages postés 2 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 20 août 2009 - 20 août 2009 à 07:49
Loriolette Messages postés 2 Date d'inscription mercredi 19 août 2009 Statut Membre Dernière intervention 20 août 2009 - 20 août 2009 à 07:49
A voir également:
- Macro entre dates sur excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Calculer une moyenne sur excel - Guide
- Si et excel - Guide
- Comment aller à la ligne sur excel - Guide
2 réponses
bouket
Messages postés
143
Date d'inscription
mardi 11 août 2009
Statut
Membre
Dernière intervention
16 octobre 2011
22
19 août 2009 à 16:51
19 août 2009 à 16:51
salut,
Pourrais tu donner le code de ta macro, qu'on voit où le rajouter ? On a pas de dons de devins... hum
Pourrais tu donner le code de ta macro, qu'on voit où le rajouter ? On a pas de dons de devins... hum
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 712
19 août 2009 à 21:48
19 août 2009 à 21:48
bonjour
le résultat donne (du 01/09/08 au 31/08/09) 11 mois et 30 jours au lieu de 1an
Tu devrais être assez satisfaite car c'est le résultat que donne DATEDIF qui fait la même fonction.
C'est le fameux problème des intervalles qui revient : un an c'est entre le 1/1/2008 et 1/1/2009 sinon le jour de l'an serait décalé chaque année.
le résultat donne (du 01/09/08 au 31/08/09) 11 mois et 30 jours au lieu de 1an
Tu devrais être assez satisfaite car c'est le résultat que donne DATEDIF qui fait la même fonction.
C'est le fameux problème des intervalles qui revient : un an c'est entre le 1/1/2008 et 1/1/2009 sinon le jour de l'an serait décalé chaque année.
Loriolette
Messages postés
2
Date d'inscription
mercredi 19 août 2009
Statut
Membre
Dernière intervention
20 août 2009
20 août 2009 à 07:49
20 août 2009 à 07:49
Merci de t'être penché sur ma question. Je me satisferai donc de ce que j'ai, c'est déjà pas mal...
19 août 2009 à 21:11
Function entre_dates(debut, fin) As String
If Not IsNull(debut) And Not IsNull(fin) Then
AN = Val(Format(debut, "yyyy"))
MN = Val(Format(debut, "mm"))
JN = Val(Format(debut, "dd"))
AA = Val(Format(fin, "yyyy"))
MA = Val(Format(fin, "mm"))
JA = Val(Format(fin, "dd"))
NJMP = "01/" & MA & "/" & AA
NJMP = DateValue(NJMP) - 1
NJMP = Val(Format(NJMP, "dd"))
If JN > JA Then
JA = JA + NJMP
MA = MA - 1
End If
If MN > MA Then
MA = MA + 12
AA = AA - 1
End If
NA = AA - AN
NM = MA - MN
NJ = JA - JN
If NA = 0 Then
NbAn = ""
ElseIf NA = 1 Then
NbAn = Str$(NA) & " an"
Else
If NM <> 0 Then
If NJ <> 0 Then
NbAn = Str$(NA) & " ans"
Else
NbAn = Str$(NA) & " ans et"
End If
Else
NbAn = Str$(NA) & " ans et"
End If
If NM = 0 And NJ = 0 Then
NbAn = Str$(NA) & " ans"
End If
End If
If NJ = 0 Then
nbj = ""
ElseIf NJ = 1 Then
nbj = Str$(NJ) & " jour"
Else
nbj = Str$(NJ) & " jours"
End If
If NM = 0 Then
NbM = ""
Else
If NJ <> 0 Then
NbM = Str$(NM) & " mois et"
Else
NbM = Str$(NM) & " mois"
End If
End If
entre_dates = NbAn & NbM & nbj
Else
entre_dates = ""
End If
End Function