Ben dit donc, y a vraiment pas de VRAI solution
Ceci explique cela
http://cjoint.com/?jduYMvj4Ey
N'explique pas devrais-je dire.
Ben dit donc, y a vraiment pas de VRAI solution
Ceci explique cela
http://cjoint.com/?jduYMvj4Ey
N'explique pas devrais-je dire.
Ben dit donc, y a vraiment pas de VRAI solution
Ceci explique cela
http://cjoint.com/?jduYMvj4Ey
N'explique pas devrais-je dire.
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
"Jacky" a écrit dans le message de news:
u$
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois
de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....
--
Salutations
JJ
"Modeste" a écrit dans le message de news:
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :Il y a tout de même un écart de deux jours entre le code de LL et le
tien dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de
deux ans.
http://cjoint.com/?jdkp0mEf30
;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !
Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu
ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision
mensuelle
qui est à la fois multiple de la division jour et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :
;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) = 13 Fév 1939
avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) = 11 Fév 1939
qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode
DateDif
le Banni du 17 février est exclu du challenge ;o)))
--
--
@+
;o)))
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
u$aBeSeDJHA.1628@TK2MSFTNGP02.phx.gbl...
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois
de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....
--
Salutations
JJ
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
uBfNutaDJHA.4884@TK2MSFTNGP02.phx.gbl...
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :
Il y a tout de même un écart de deux jours entre le code de LL et le
tien dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de
deux ans.
http://cjoint.com/?jdkp0mEf30
;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !
Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu
ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision
mensuelle
qui est à la fois multiple de la division jour et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :
;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) = 13 Fév 1939
avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) = 11 Fév 1939
qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode
DateDif
le Banni du 17 février est exclu du challenge ;o)))
--
--
@+
;o)))
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
"Jacky" a écrit dans le message de news:
u$
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois
de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....
--
Salutations
JJ
"Modeste" a écrit dans le message de news:
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :Il y a tout de même un écart de deux jours entre le code de LL et le
tien dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de
deux ans.
http://cjoint.com/?jdkp0mEf30
;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !
Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu
ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision
mensuelle
qui est à la fois multiple de la division jour et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :
;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) = 13 Fév 1939
avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) = 11 Fév 1939
qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode
DateDif
le Banni du 17 février est exclu du challenge ;o)))
--
--
@+
;o)))
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais
Deux jumeaux, qui naissent à un jour d'intervalle (ça arrive), s'ouvrent à
la vie le 28 Février pour le premier, et le lendemain pour le second.
Si l'année est bissextile, ils sont nés le même mois.
Si c'est une année normale, ils sont nés sur deux mois différents.
Ils conserveront toujours cette journée d'écart, quelle que soit la
méthode de calcul dirait Modeste.
C'était aussi l'avis de ma grand-mère qui ne connaissait rien en
informatique.
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais.
"michdenis" a écrit dans le message de
news:Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
"Jacky" a écrit dans le message de news:
u$
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois
de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....
--
Salutations
JJ
"Modeste" a écrit dans le message de news:
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :Il y a tout de même un écart de deux jours entre le code de LL et le
tien dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de
deux ans.
http://cjoint.com/?jdkp0mEf30
;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !
Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu
ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte
qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision
mensuelle
qui est à la fois multiple de la division jour et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :
;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) = 13 Fév 1939
avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) = 11 Fév 1939
qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode
DateDif
le Banni du 17 février est exclu du challenge ;o)))
--
--
@+
;o)))
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais
Deux jumeaux, qui naissent à un jour d'intervalle (ça arrive), s'ouvrent à
la vie le 28 Février pour le premier, et le lendemain pour le second.
Si l'année est bissextile, ils sont nés le même mois.
Si c'est une année normale, ils sont nés sur deux mois différents.
Ils conserveront toujours cette journée d'écart, quelle que soit la
méthode de calcul dirait Modeste.
C'était aussi l'avis de ma grand-mère qui ne connaissait rien en
informatique.
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais.
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:OTnABjeDJHA.3352@TK2MSFTNGP05.phx.gbl...
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news:
u$aBeSeDJHA.1628@TK2MSFTNGP02.phx.gbl...
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois
de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....
--
Salutations
JJ
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
uBfNutaDJHA.4884@TK2MSFTNGP02.phx.gbl...
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :
Il y a tout de même un écart de deux jours entre le code de LL et le
tien dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de
deux ans.
http://cjoint.com/?jdkp0mEf30
;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !
Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu
ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte
qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision
mensuelle
qui est à la fois multiple de la division jour et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :
;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) = 13 Fév 1939
avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) = 11 Fév 1939
qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode
DateDif
le Banni du 17 février est exclu du challenge ;o)))
--
--
@+
;o)))
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais
Deux jumeaux, qui naissent à un jour d'intervalle (ça arrive), s'ouvrent à
la vie le 28 Février pour le premier, et le lendemain pour le second.
Si l'année est bissextile, ils sont nés le même mois.
Si c'est une année normale, ils sont nés sur deux mois différents.
Ils conserveront toujours cette journée d'écart, quelle que soit la
méthode de calcul dirait Modeste.
C'était aussi l'avis de ma grand-mère qui ne connaissait rien en
informatique.
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais.
"michdenis" a écrit dans le message de
news:Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :
http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe
Où j'avais proposé cette procédure :
Une fonction personnelle parue ici sous la plume de "cervolent"
'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer
ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1
+
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------
"Jacky" a écrit dans le message de news:
u$
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois
de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....
--
Salutations
JJ
"Modeste" a écrit dans le message de news:
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :Il y a tout de même un écart de deux jours entre le code de LL et le
tien dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de
deux ans.
http://cjoint.com/?jdkp0mEf30
;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !
Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu
ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte
qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision
mensuelle
qui est à la fois multiple de la division jour et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :
;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) = 13 Fév 1939
avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) = 11 Fév 1939
qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode
DateDif
le Banni du 17 février est exclu du challenge ;o)))
--
--
@+
;o)))
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
la notion de mois n'est pas une fraction exacte de l'année !!!!
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
la notion de mois n'est pas une fraction exacte de l'année !!!!
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
la notion de mois n'est pas une fraction exacte de l'année !!!!
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
> Pourquoi être si tatillon pour 2 jours alors que ta formule me
rajeunit de
> 10 ans ? -)))
> Pourquoi être si tatillon pour 2 jours alors que ta formule me
rajeunit de
> 10 ans ? -)))
> Pourquoi être si tatillon pour 2 jours alors que ta formule me
rajeunit de
> 10 ans ? -)))