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

Erreur dans une procédure

5 réponses
Avatar
Didier Novarin
Bonjour
Je souhaite lorsque je saisi dans un textbox une date avoir dans un label
l'age en clair
j'ai cette procédure,mais elle me compte la date à l'envers lorsque le mois
> 6
Je n'arrive pas à trouver l'erreur
Je vous remercie
Didier

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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

5 réponses

Avatar
lSteph
Re,
Pour rester fidèle à ton code Didier et si j'ai bien compris (la saisie:
dd/mm/yyyy)

Private Sub TextBox1_AfterUpdate()
Dim y As Integer, m As Integer, d As Integer
Dim dt As Date, s As String

dt = TextBox6
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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 Sub

'lSteph
"Didier Novarin" a écrit dans le message de
news:
Bonjour
Je souhaite lorsque je saisi dans un textbox une date avoir dans un label
l'age en clair
j'ai cette procédure,mais elle me compte la date à l'envers lorsque le
mois
6
Je n'arrive pas à trouver l'erreur

Je vous remercie
Didier

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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






Avatar
Didier Novarin
Bonjour Lsteph et merci
mais il y a un pb également
lorsque je saisi ex : 24/05/76
J'ai dans le label : 30 années -1mois 12 jours
je souhaiterai avoir 29 années etc.
Didier

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

Re,
Pour rester fidèle à ton code Didier et si j'ai bien compris (la saisie:
dd/mm/yyyy)

Private Sub TextBox1_AfterUpdate()
Dim y As Integer, m As Integer, d As Integer
Dim dt As Date, s As String

dt = TextBox6
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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 Sub

'lSteph
"Didier Novarin" a écrit dans le message de
news:
Bonjour
Je souhaite lorsque je saisi dans un textbox une date avoir dans un label
l'age en clair
j'ai cette procédure,mais elle me compte la date à l'envers lorsque le
mois
6
Je n'arrive pas à trouver l'erreur

Je vous remercie
Didier

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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










Avatar
lSteph
Re,
Pas sûr car là je cafouilles un rien à cause des bissextiles:

Private Sub TextBox1_AfterUpdate()

Dim dt As Date, s As String, j As Long, m As Integer, a As Integer

dt = TextBox1
j = Now - dt
a = Int(j / 365.25)
m = Int(Int(j - (a * 365.25)) / 30.4)

j = (j - ((m * 30.4) + (a * 365.25))) - CDate(Hour(Now) / 24)

s = a & " année(s) " & m & " mois " & j & " jour(s)"
Label1.Caption = s


End Sub

"Didier Novarin" a écrit dans le message de
news: %
Bonjour Lsteph et merci
mais il y a un pb également
lorsque je saisi ex : 24/05/76
J'ai dans le label : 30 années -1mois 12 jours
je souhaiterai avoir 29 années etc.
Didier

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

Re,
Pour rester fidèle à ton code Didier et si j'ai bien compris (la saisie:
dd/mm/yyyy)

Private Sub TextBox1_AfterUpdate()
Dim y As Integer, m As Integer, d As Integer
Dim dt As Date, s As String

dt = TextBox6
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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 Sub

'lSteph
"Didier Novarin" a écrit dans le message de
news:
Bonjour
Je souhaite lorsque je saisi dans un textbox une date avoir dans un
label l'age en clair
j'ai cette procédure,mais elle me compte la date à l'envers lorsque le
mois
6
Je n'arrive pas à trouver l'erreur

Je vous remercie
Didier

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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














Avatar
docm
Bonjour Didier Novarin.

Comme ceci, cela semble fonctionner.

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
If DateAdd("yyyy", y, dt) > Now Then
y = y - 1
End If
s = y & " années "
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

docm

"Didier Novarin" wrote in message
news:
Bonjour
Je souhaite lorsque je saisi dans un textbox une date avoir dans un label
l'age en clair
j'ai cette procédure,mais elle me compte la date à l'envers lorsque le
mois

6
Je n'arrive pas à trouver l'erreur

Je vous remercie
Didier

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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






Avatar
Didier Novarin
Merci beaucoup Lsteph ainsi que docm
Cela fonctionne parfaitement !
C'est parfait !
Didier

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

Bonjour Didier Novarin.

Comme ceci, cela semble fonctionner.

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
If DateAdd("yyyy", y, dt) > Now Then
y = y - 1
End If
s = y & " années "
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

docm

"Didier Novarin" wrote in message
news:
Bonjour
Je souhaite lorsque je saisi dans un textbox une date avoir dans un label
l'age en clair
j'ai cette procédure,mais elle me compte la date à l'envers lorsque le
mois

6
Je n'arrive pas à trouver l'erreur

Je vous remercie
Didier

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

dt = CDate(Me.TextBox6.Text)
y = DateDiff("yyyy", dt, Now)
s = y & " années "
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