Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème dans ma procédure de dates

2 réponses
Avatar
Didier Novarin
Bonsoir
J'ai cette procédure qui est chargée de me donner dans un label (label98)
l'âge en années mois et jours. Elle fonctionne très bien avec toutes les
dates supérieures au 01/01/30, en revanche, avant 1930 cela me donne un
résultat négatif.
Pouvez-vous s'il vous plait m'indiquer comment faire afin que cette
procédure fonctionne normalement ?
Je vous remercie beaucoup
Didier

Private Sub TextBox14_Change()
If IsDate(TextBox14) = True Then

If TextBox14 <> "" Then
If Len(TextBox14) = 8 Then

Dim y As Integer, m As Integer, d As Integer
Dim dt As Date, s As String

dt = CDate(Me.TextBox14.Text)
y = DateDiff("yyyy", dt, Now)
If DateAdd("yyyy", y, dt) > Now Then
y = y - 1
End If
s = y & " ans "
dt = DateAdd("yyyy", y, dt)
m = DateDiff("m", dt, Now)
If DateAdd("m", m, dt) > Now Then m = m - 1
s = s & m & " mois "
dt = DateAdd("m", m, dt)
d = DateDiff("d", dt, Now)
s = s & d & " jour(s)"
Label98.Caption = s

End If
End If
End If
End Sub

2 réponses

Avatar
JLuc
*Bonjour Didier Novarin*,
Peut être lui mettre l'année sur 4 digits : AMHA jusqu'a 30, excel
considere 2000 + ... et après 1900 + ...
Mais peut être me trompe-je :oÞ

Bonsoir
J'ai cette procédure qui est chargée de me donner dans un label (label98)
l'âge en années mois et jours. Elle fonctionne très bien avec toutes les
dates supérieures au 01/01/30, en revanche, avant 1930 cela me donne un
résultat négatif.
Pouvez-vous s'il vous plait m'indiquer comment faire afin que cette procédure
fonctionne normalement ?
Je vous remercie beaucoup
Didier

Private Sub TextBox14_Change()
If IsDate(TextBox14) = True Then

If TextBox14 <> "" Then
If Len(TextBox14) = 8 Then

Dim y As Integer, m As Integer, d As Integer
Dim dt As Date, s As String

dt = CDate(Me.TextBox14.Text)
y = DateDiff("yyyy", dt, Now)
If DateAdd("yyyy", y, dt) > Now Then
y = y - 1
End If
s = y & " ans "
dt = DateAdd("yyyy", y, dt)
m = DateDiff("m", dt, Now)
If DateAdd("m", m, dt) > Now Then m = m - 1
s = s & m & " mois "
dt = DateAdd("m", m, dt)
d = DateDiff("d", dt, Now)
s = s & d & " jour(s)"
Label98.Caption = s

End If
End If
End If
End Sub


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
Didier Novarin
Bonsoir Jean-Luc
Je te remercie beaucoup
Effectivement cela fonctionne parfaitement maintenant
Bonne soirée
Didier

"JLuc" a écrit dans le message de news:

*Bonjour Didier Novarin*,
Peut être lui mettre l'année sur 4 digits : AMHA jusqu'a 30, excel
considere 2000 + ... et après 1900 + ...
Mais peut être me trompe-je :oÞ

Bonsoir
J'ai cette procédure qui est chargée de me donner dans un label (label98)
l'âge en années mois et jours. Elle fonctionne très bien avec toutes les
dates supérieures au 01/01/30, en revanche, avant 1930 cela me donne un
résultat négatif.
Pouvez-vous s'il vous plait m'indiquer comment faire afin que cette
procédure fonctionne normalement ?
Je vous remercie beaucoup
Didier

Private Sub TextBox14_Change()
If IsDate(TextBox14) = True Then

If TextBox14 <> "" Then
If Len(TextBox14) = 8 Then

Dim y As Integer, m As Integer, d As Integer
Dim dt As Date, s As String

dt = CDate(Me.TextBox14.Text)
y = DateDiff("yyyy", dt, Now)
If DateAdd("yyyy", y, dt) > Now Then
y = y - 1
End If
s = y & " ans "
dt = DateAdd("yyyy", y, dt)
m = DateDiff("m", dt, Now)
If DateAdd("m", m, dt) > Now Then m = m - 1
s = s & m & " mois "
dt = DateAdd("m", m, dt)
d = DateDiff("d", dt, Now)
s = s & d & " jour(s)"
Label98.Caption = s

End If
End If
End If
End Sub


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O