Dans cette macro, je voudrais faire apparaître
dans mon MsgBox :
Le mercredi 18 février 2009 au lieu de 18/02/09
Le lundi 29 décembre 2042 au lieu de 29/12/2042
33 ans 11 mois 9 jours au lieu de 09/11/33
Comment faire ?
Et si vous pouvez simplifier la macro, allez-y !
Option Base 1
Sub Escargot()
Dim L() As Long
Dim d() As Double
Dim dd As Date
Dim dc As Date
Dim temps As Date
ReDim d(1)
ReDim L(1)
dd = "18/02/2009"
d(1) = 10
L(1) = 100
i = 1
Do Until d(i) > L(i)
i = i + 1
ReDim Preserve d(i)
ReDim Preserve L(i)
L(i) = 100 * i
d(i) = d(i - 1) * L(i) / L(i - 1) + d(1)
Loop
dc = dd + i
temps = dc - dd
MsgBox "Date de départ :" & vbLf & dd & vbLf & "Date de la chute :" & vbLf & dc _
& vbLf & "Temps requis :" & vbLf & temps
End Sub
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître
dans mon MsgBox :
Le mercredi 18 février 2009 au lieu de 18/02/09
Le lundi 29 décembre 2042 au lieu de 29/12/2042
33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!!
Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours
voir à utiliser datedif
temps=age(dd,dc)
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
garnote
Ave,
Dans une feuille de calcul, je formate A1 et B1 "Le " jjjj j mmmm aaaa J'entre 18/02/2009 en A1et j'obtiens ce que je veux : 1) Le mercredi 18 février 2009 En B1, j'entre ¡+12367 et j'obtiens ce que je veux : 2 ) Le lundi 29 décembre 2042 Je formate C1 aa" ans " m" mois" j" jour(s)" j'entre ±-C1 et j'obtiens : 3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd, les résultats 1) et 2) coïncident avec les tiens mais elle renvoie 33 ans 10 mois 9 jour(s). Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc), je reçois le message « Incompatibilité de type » et le débogage me renvoie à : Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" a écrit dans le message de news: Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Ave,
Dans une feuille de calcul, je formate A1 et B1
"Le " jjjj j mmmm aaaa
J'entre 18/02/2009 en A1et j'obtiens ce que je veux :
1) Le mercredi 18 février 2009
En B1, j'entre ¡+12367 et j'obtiens ce que je veux :
2 ) Le lundi 29 décembre 2042
Je formate C1
aa" ans " m" mois" j" jour(s)"
j'entre ±-C1 et j'obtiens :
3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd,
les résultats 1) et 2) coïncident avec les tiens
mais elle renvoie 33 ans 10 mois 9 jour(s).
Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc),
je reçois le message « Incompatibilité de type »
et le débogage me renvoie à :
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" <GD@libre.fr> a écrit dans le message de news: ORUpGDTkJHA.4696@TK2MSFTNGP02.phx.gbl...
Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître
dans mon MsgBox :
Le mercredi 18 février 2009 au lieu de 18/02/09
Le lundi 29 décembre 2042 au lieu de 29/12/2042
33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!!
Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours
voir à utiliser datedif
temps=age(dd,dc)
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
Dans une feuille de calcul, je formate A1 et B1 "Le " jjjj j mmmm aaaa J'entre 18/02/2009 en A1et j'obtiens ce que je veux : 1) Le mercredi 18 février 2009 En B1, j'entre ¡+12367 et j'obtiens ce que je veux : 2 ) Le lundi 29 décembre 2042 Je formate C1 aa" ans " m" mois" j" jour(s)" j'entre ±-C1 et j'obtiens : 3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd, les résultats 1) et 2) coïncident avec les tiens mais elle renvoie 33 ans 10 mois 9 jour(s). Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc), je reçois le message « Incompatibilité de type » et le débogage me renvoie à : Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" a écrit dans le message de news: Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
garnote
Cette formule : ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)" me renvoie 33 ans 10 mois 11 jours. Est-elle écrite correctement et peut-on s'y fier ?
"garnote" a écrit dans le message de news: %
Ave,
Dans une feuille de calcul, je formate A1 et B1 "Le " jjjj j mmmm aaaa J'entre 18/02/2009 en A1et j'obtiens ce que je veux : 1) Le mercredi 18 février 2009 En B1, j'entre ¡+12367 et j'obtiens ce que je veux : 2 ) Le lundi 29 décembre 2042 Je formate C1 aa" ans " m" mois" j" jour(s)" j'entre ±-C1 et j'obtiens : 3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd, les résultats 1) et 2) coïncident avec les tiens mais elle renvoie 33 ans 10 mois 9 jour(s). Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc), je reçois le message « Incompatibilité de type » et le débogage me renvoie à : Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" a écrit dans le message de news: Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Cette formule :
ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)"
me renvoie 33 ans 10 mois 11 jours.
Est-elle écrite correctement et peut-on s'y fier ?
"garnote" <garnote3RIEN@videotron.ca> a écrit dans le message de news: %23usJ1eTkJHA.4696@TK2MSFTNGP02.phx.gbl...
Ave,
Dans une feuille de calcul, je formate A1 et B1
"Le " jjjj j mmmm aaaa
J'entre 18/02/2009 en A1et j'obtiens ce que je veux :
1) Le mercredi 18 février 2009
En B1, j'entre ¡+12367 et j'obtiens ce que je veux :
2 ) Le lundi 29 décembre 2042
Je formate C1
aa" ans " m" mois" j" jour(s)"
j'entre ±-C1 et j'obtiens :
3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd,
les résultats 1) et 2) coïncident avec les tiens
mais elle renvoie 33 ans 10 mois 9 jour(s).
Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc),
je reçois le message « Incompatibilité de type »
et le débogage me renvoie à :
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" <GD@libre.fr> a écrit dans le message de news: ORUpGDTkJHA.4696@TK2MSFTNGP02.phx.gbl...
Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître
dans mon MsgBox :
Le mercredi 18 février 2009 au lieu de 18/02/09
Le lundi 29 décembre 2042 au lieu de 29/12/2042
33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!!
Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours
voir à utiliser datedif
temps=age(dd,dc)
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
Cette formule : ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)" me renvoie 33 ans 10 mois 11 jours. Est-elle écrite correctement et peut-on s'y fier ?
"garnote" a écrit dans le message de news: %
Ave,
Dans une feuille de calcul, je formate A1 et B1 "Le " jjjj j mmmm aaaa J'entre 18/02/2009 en A1et j'obtiens ce que je veux : 1) Le mercredi 18 février 2009 En B1, j'entre ¡+12367 et j'obtiens ce que je veux : 2 ) Le lundi 29 décembre 2042 Je formate C1 aa" ans " m" mois" j" jour(s)" j'entre ±-C1 et j'obtiens : 3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd, les résultats 1) et 2) coïncident avec les tiens mais elle renvoie 33 ans 10 mois 9 jour(s). Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc), je reçois le message « Incompatibilité de type » et le débogage me renvoie à : Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" a écrit dans le message de news: Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Dans une feuille de calcul, je formate A1 et B1 "Le " jjjj j mmmm aaaa J'entre 18/02/2009 en A1et j'obtiens ce que je veux : 1) Le mercredi 18 février 2009 En B1, j'entre ¡+12367 et j'obtiens ce que je veux : 2 ) Le lundi 29 décembre 2042 Je formate C1 aa" ans " m" mois" j" jour(s)" j'entre ±-C1 et j'obtiens : 3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd, les résultats 1) et 2) coïncident avec les tiens mais elle renvoie 33 ans 10 mois 9 jour(s). Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc), je reçois le message « Incompatibilité de type » et le débogage me renvoie à : Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" a écrit dans le message de news: Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Dans une feuille de calcul, je formate A1 et B1
"Le " jjjj j mmmm aaaa
J'entre 18/02/2009 en A1et j'obtiens ce que je veux :
1) Le mercredi 18 février 2009
En B1, j'entre ¡+12367 et j'obtiens ce que je veux :
2 ) Le lundi 29 décembre 2042
Je formate C1
aa" ans " m" mois" j" jour(s)"
j'entre ±-C1 et j'obtiens :
3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd,
les résultats 1) et 2) coïncident avec les tiens
mais elle renvoie 33 ans 10 mois 9 jour(s).
Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc),
je reçois le message « Incompatibilité de type »
et le débogage me renvoie à :
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" <GD@libre.fr> a écrit dans le message de news: ORUpGDTkJHA.4696@TK2MSFTNGP02.phx.gbl...
Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître
dans mon MsgBox :
Le mercredi 18 février 2009 au lieu de 18/02/09
Le lundi 29 décembre 2042 au lieu de 29/12/2042
33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!!
Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours
voir à utiliser datedif
temps=age(dd,dc)
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
Dans une feuille de calcul, je formate A1 et B1 "Le " jjjj j mmmm aaaa J'entre 18/02/2009 en A1et j'obtiens ce que je veux : 1) Le mercredi 18 février 2009 En B1, j'entre ¡+12367 et j'obtiens ce que je veux : 2 ) Le lundi 29 décembre 2042 Je formate C1 aa" ans " m" mois" j" jour(s)" j'entre ±-C1 et j'obtiens : 3) 33 ans 11 mois 9 jour(s)
Si j'utilise la macro avec temps = dc - dd, les résultats 1) et 2) coïncident avec les tiens mais elle renvoie 33 ans 10 mois 9 jour(s). Qui a raison, 3) ou toi ?
Et si j'utilise la macro avec temps = AGE(dd, dc), je reçois le message « Incompatibilité de type » et le débogage me renvoie à : Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
Quel fouillis pour mes petites méninges ;-)
A+
Serge
"Modeste" a écrit dans le message de news: Bonsour® garnote
Bonsoir, Bonsoir,
Dans cette macro, je voudrais faire apparaître dans mon MsgBox : Le mercredi 18 février 2009 au lieu de 18/02/09 Le lundi 29 décembre 2042 au lieu de 29/12/2042 33 ans 11 mois 9 jours au lieu de 09/11/33
!!!!! Attention je doute du age=onze mois tiré d'un format de date ;o)))
i.e le 01/01/33 le temps est 1 jour et non 1 mois et 1 jours voir à utiliser datedif temps=age(dd,dc) Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Modeste
Bonsour® garnote
Cette formule : ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)" me renvoie 33 ans 10 mois 11 jours. Est-elle écrite correctement et peut-on s'y fier ?
je pense honnetement que cela est correct !!!
mais la fonction précédente est tirée directement du site de Laurent Longre http://xcell05.free.fr/pages/form/dateheure.htm#DATEDIF et contient en effet des erreurs de syntaxe quote manquante et parenthése fermante sur Evaluate !!!!
à qui se fier ??? ;o))) voici ma correction :
Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y"")") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym"")") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md"")") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Bonsour® garnote
Cette formule :
=DATEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " &
DATEDIF(A1;B1;"md") & " jour(s)"
me renvoie 33 ans 10 mois 11 jours.
Est-elle écrite correctement et peut-on s'y fier ?
je pense honnetement que cela est correct !!!
mais la fonction précédente est tirée directement du site de Laurent Longre
http://xcell05.free.fr/pages/form/dateheure.htm#DATEDIF
et contient en effet des erreurs de syntaxe
quote manquante et parenthése fermante sur Evaluate !!!!
à qui se fier ??? ;o)))
voici ma correction :
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y"")")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym"")") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md"")")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
Cette formule : ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)" me renvoie 33 ans 10 mois 11 jours. Est-elle écrite correctement et peut-on s'y fier ?
je pense honnetement que cela est correct !!!
mais la fonction précédente est tirée directement du site de Laurent Longre http://xcell05.free.fr/pages/form/dateheure.htm#DATEDIF et contient en effet des erreurs de syntaxe quote manquante et parenthése fermante sur Evaluate !!!!
à qui se fier ??? ;o))) voici ma correction :
Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y"")") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym"")") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md"")") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
ah ! cet eternel problème de date ;o)) <> de 2 jours tout de même http://www.cijoint.fr/cjlink.php?file=cj200902/cij70KWxwe.xls -- Salutations JJ
"Modeste" a écrit dans le message de news:
Bonsour® garnote
Cette formule : ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)" me renvoie 33 ans 10 mois 11 jours. Est-elle écrite correctement et peut-on s'y fier ?
je pense honnetement que cela est correct !!!
mais la fonction précédente est tirée directement du site de Laurent Longre http://xcell05.free.fr/pages/form/dateheure.htm#DATEDIF et contient en effet des erreurs de syntaxe quote manquante et parenthése fermante sur Evaluate !!!!
à qui se fier ??? ;o))) voici ma correction :
Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y"")") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym"")") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md"")") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
Bonsoir à tous,
je pense honnetement que cela est correct !!!
ah ! cet eternel problème de date ;o))
<> de 2 jours tout de même
http://www.cijoint.fr/cjlink.php?file=cj200902/cij70KWxwe.xls
--
Salutations
JJ
"Modeste" <GD@libre.fr> a écrit dans le message de news:
OCFzcGUkJHA.4696@TK2MSFTNGP02.phx.gbl...
Bonsour® garnote
Cette formule :
ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " &
DATEDIF(A1;B1;"md") & " jour(s)"
me renvoie 33 ans 10 mois 11 jours.
Est-elle écrite correctement et peut-on s'y fier ?
je pense honnetement que cela est correct !!!
mais la fonction précédente est tirée directement du site de Laurent Longre
http://xcell05.free.fr/pages/form/dateheure.htm#DATEDIF
et contient en effet des erreurs de syntaxe
quote manquante et parenthése fermante sur Evaluate !!!!
à qui se fier ??? ;o)))
voici ma correction :
Function AGE(Date1 As Date, Date2 As Date) As String
Dim Elt As Long, D1 As Long, D2 As Long
D1 = Int(Date1): D2 = Int(Date2)
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y"")")
AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym"")") & " mois, "
Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md"")")
AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
ah ! cet eternel problème de date ;o)) <> de 2 jours tout de même http://www.cijoint.fr/cjlink.php?file=cj200902/cij70KWxwe.xls -- Salutations JJ
"Modeste" a écrit dans le message de news:
Bonsour® garnote
Cette formule : ÚTEDIF(A1;B1;"y") & " ans " & DATEDIF(A1;B1;"ym") & " mois " & DATEDIF(A1;B1;"md") & " jour(s)" me renvoie 33 ans 10 mois 11 jours. Est-elle écrite correctement et peut-on s'y fier ?
je pense honnetement que cela est correct !!!
mais la fonction précédente est tirée directement du site de Laurent Longre http://xcell05.free.fr/pages/form/dateheure.htm#DATEDIF et contient en effet des erreurs de syntaxe quote manquante et parenthése fermante sur Evaluate !!!!
à qui se fier ??? ;o))) voici ma correction :
Function AGE(Date1 As Date, Date2 As Date) As String Dim Elt As Long, D1 As Long, D2 As Long D1 = Int(Date1): D2 = Int(Date2) Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y"")") AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _ Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym"")") & " mois, " Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md"")") AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour") End Function
isabelle
;-) isabelle
Jacky a écrit :
Bonsoir,
Mais non Isabelle, y avait pas trop d'caractères ;o)))
;-)
isabelle
Jacky a écrit :
Bonsoir,
Mais non Isabelle, y avait pas trop d'caractères
;o)))