1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| Private Sub DATE2_GotFocus()
Dim currentDate As Date
Dim currentMonth As Integer
Dim currentYear As Integer
currentDate = Date
currentMonth = Month(currentDate)
currentYear = Year(currentDate)
If currentMonth >= 1 And currentMonth < 12 Then
Me!DATE2 = currentYear
Else
Me!DATE2 = currentYear - 1
End If
End Sub
Ca, ca fonctionne.
- et une zone de texte [Texte20] formaté en texte brut dans laquelle je veux afficher l'âge exact de la personne au 01/09/"DATE2" et pour laquelle j'ai placé ce code :
Private Sub Texte20_GotFocus()
Dim birthDate As Date
Dim ageYears As Integer
Dim ageMonths As Integer
Dim ageDays As Integer
Dim currentDate As Date
Dim targetDate As Date
birthDate = Me![Date de naissance]
currentDate = Date
ageYears = DateDiff("yyyy", birthDate, currentDate)
ageMonths = DateDiff("m", birthDate, currentDate) Mod 12
ageDays = DateDiff("d", DateSerial(Year(birthDate), Month(birthDate) + ageMonths, Day(birthDate)), currentDate)
targetDate = DateSerial(Year(Me!DATE2), 9, 1)
ageYears = ageYears - DateDiff("yyyy", targetDate, currentDate)
ageMonths = ageMonths - DateDiff("m", targetDate, currentDate) Mod 12
ageDays = ageDays - DateDiff("d", DateSerial(Year(targetDate), Month(targetDate) + ageMonths, Day(targetDate)), currentDate)
Me!Texte20 = ageYears & " ans, " & ageMonths & " mois et " & ageDays & " jours"
End Sub |
Partager