Comment calculer un âge antérieur au 1er janvier 1900 dans Excel ?
Dans Excel, les dates antérieures au 1/1/1900 ne peuvent être ni saisies ni calculées correctement. Ainsi, si vous souhaitez déterminer l’âge d’une personne née et décédée avant cette date, le résultat obtenu dans Excel sera généralement inexact. Cet article vous révèle toutefois une astuce efficace pour calculer un âge antérieur au 1/1/1900 directement dans Excel.
Calculer un âge antérieur à 1/1/1900 avec VBA
Calculer l’âge à partir de la date de naissance avec Kutools pour Excel ![]()
Calculer un âge antérieur à 1/1/1900 avec VBA
Voici un code VBA qui vous permet de calculer rapidement un âge pour une date antérieure au 1/1/1900.
1. Sélectionnez une cellule vide et saisissez la date de naissance de la personne, puis choisissez une autre cellule pour y indiquer soit la date du jour, soit la date de décès, selon vos besoins. Voir la capture d’écran :
2. Appuyez ensuite sur les touches 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 un âge antérieur à 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 saisissez la formule suivante : =AgeFunc(A2;B2) (où A2 correspond à la date de naissance et B2 à la date de fin), puis appuyez sur la touche Entrée pour obtenir l’âge. Ensuite, faites glisser la poignée de recopie vers les cellules souhaitées. Voir la capture d’écran :
Remarque : Ce code VBA permet uniquement de calculer des âges à partir de dates au format mm/jj/aaaa, comme par exemple 6/23/1845.
Calculer l’âge à partir de la date de naissance avec Kutools pour Excel
Si les dates de naissance sont postérieures au 1/1/1900, vous pouvez utiliser l’utilitaire Kutools pour Excel : l’Assistant Date et Heure, qui calcule instantanément l’âge à partir des dates de naissance fournies.
Après avoir installé gratuitementKutools pour Excel, procédez comme suit :
1. Sélectionnez une cellule vide dans laquelle vous souhaitez afficher l’âge, puis cliquez sur Kutools > Assistant de formule > Assistant Date et Heure. Voir la capture d’écran :
2. Dans la boîte de dialogue Assistant Date et Heure, cochez l’option Âge, puis sélectionnez la date de naissance à partir de laquelle vous souhaitez calculer l’âge dans la zone de texte Date de naissance. Par défaut, la cellule est définie en référence absolue ; vous pouvez la modifier en référence relative. Cochez ensuite l’option Aujourd’hui et choisissez le type de résultat à afficher dans la liste déroulante Type de résultat de sortie. Voir la capture d’écran :
3. Cliquez sur OK pour appliquer cette formule. L’âge s’affichera alors automatiquement. Si nécessaire, faites glisser la poignée de recopie vers les cellules concernées. Voir la capture d’écran :
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre 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 rend votre travail bien plus facile
- Activez l’édition 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é de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels