A tester :
Dans le Userform :
MajValeur TextBox1
Dans un module standard :
Sub MajValeur(ByVal ValeurTextBox1 As Variant)
Dim DerniereLigneSh As Long, DerniereLigneAge As Long
Dim cc As Range, AireSh As Range
Dim Sh As Worksheet, ShAges As Worksheet
Set Sh = ActiveSheet ' Sheets("XXX")
Set ShAges = Sheets("Ages")
With Sh
DerniereLigneSh = .Cells(.Rows.Count, 1).End(xlUp).Row
Set AireSh = .Range("A1:A" & DerniereLigneSh)
For Each cc In AireSh
If cc = ValeurTextBox1 Then
With ShAges
DerniereLigneAge = .Cells(.Rows.Count, 1).End(xlUp).Row
If IsDate(cc.Offset(0, 1)) Then
.Cells(DerniereLigneAge + 1, "A") = Year(cc.Offset(0, 1))
.Cells(DerniereLigneAge + 1, "B") = cc.Offset(0, 4)
End If
End With
End If
Next cc
End With
Set Sh = Nothing: Set ShAges = Nothing: Set AireSh = Nothing
End Sub