Comment calculer l'âge avant le 1/1/1900 dans Excel ?
Dans Excel, les dates antérieures au 1/1/1900 ne peuvent pas être saisies ni calculées correctement. Si vous souhaitez calculer l'âge d'une personne née et décédée avant le 1/1/1900, il serait généralement impossible d'obtenir un calcul correct dans Excel. Cependant, dans cet article, une astuce peut vous aider à calculer l'âge avant le 1/1/1900 dans Excel.
Calculer l'âge avant le 1/1/1900 avec VBA
Calculer l'âge par date de naissance avec Kutools pour Excel
Calculer l'âge avant le 1/1/1900 avec VBA
Voici un code VBA qui peut vous aider à calculer rapidement l'âge avant le 1/1/1900.
1. Sélectionnez une cellule vide et entrez la date de naissance de la personne, puis sélectionnez une autre cellule pour entrer la date du jour ou la date de décès selon vos besoins. Voir capture d'écran :
2. Appuyez ensuite sur Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
3. Cliquez sur Insertion > Module, puis collez le code VBA ci-dessous dans la nouvelle fenêtre Module.
VBA : Calculer l'âge avant le 1/1/1900
Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
Dim xSMonth As Integer
Dim xSDay As Integer
Dim xSYear As Integer
Dim xEMonth As Integer
Dim xEDay As Integer
Dim xEYear As Integer
Dim xAge As Integer
If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
xAge = xEYear - xSYear
If xSMonth > xEMonth Then
xAge = xAge - 1
ElseIf xSMonth = xEMonth Then
If xSDay > xEDay Then xAge = xAge - 1
End If
If xAge < 0 Then
AgeFunc = "Invalid Date"
Else
AgeFunc = xAge
End If
End Function
Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
Dim I As Long
Dim K As Long
Y = 0
M = 0
D = 0
GetDate = True
On Error Resume Next
I = InStr(1, DateStr, "/")
M = CLng(Left(DateStr, I - 1))
D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
GetDate = False
End If
End Function
4. Sélectionnez une cellule vide, ici C2, et entrez cette formule =AgeFunc(A2,B2) (A2 est la date de naissance, et B2 est la date de fin), puis appuyez sur Entrée pour obtenir l'âge, et faites glisser la poignée de recopie automatique sur les cellules dont vous avez besoin. Voir capture d'écran :
Remarque : Ce VBA ne peut calculer les âges qu'avec des dates au format mm/jj/aaaa, comme 23/6/1845.
Calculer l'âge par date de naissance avec Kutools pour Excel
Si les dates de naissance sont normalement postérieures au 1/1/1900, vous pouvez appliquer l'utilitaire d'aide Date et heure de Kutools pour Excel, qui peut rapidement calculer l'âge à partir des dates de naissance fournies.
Après avoir installé gratuitement Kutools pour Excel, veuillez procéder comme suit :
1. Sélectionnez une cellule vide où vous souhaitez afficher l'âge, puis cliquez sur Kutools > Assistant de formule > Date et heure helper. Voir capture d'écran :
2. Ensuite, dans la Date et heure helper boîte de dialogue, cochez l'option Âge, sélectionnez la date de naissance sur laquelle vous souhaitez baser le calcul de l'âge dans la zone de texte Date de naissance Par défaut, la cellule sera sélectionnée en référence absolue, mais vous pouvez la changer en référence relative, puis cochez l'option Aujourd'hui et choisissez un type de résultat que vous souhaitez afficher dans la liste déroulante Type de résultat de sortie. Voir capture d'écran :
3. Cliquez sur Ok pour appliquer cette formule, et maintenant vous pouvez voir que l'âge est affiché. Et si nécessaire, vous pouvez faire glisser la poignée de recopie automatique sur les cellules nécessitant cette formule. Voir capture d'écran :
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !