Calcul de l'âge dans un commentaire

  • Initiateur de la discussion Initiateur de la discussion Jouxte
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jouxte

XLDnaute Occasionnel
Bonjour à toutes et tous,

Dans mon tableau les dates de naissance sont en colonne F
J'aurais souhaité pouvoir intégrer en automatique un commentaire qui me donne l'âge pour une date de naissance donnée.
Le format serait par exemple :
25 ans 0 jour
25 ans 1 mois 1 jour
25 ans 1 mois 2 jours
Par avance merci pour votre aide.
 

Pièces jointes

Bonsour® PierreJean
Bonjour pierrejean,

Est-il possible de faire pour que l'affichage se fasse au survol de la cellule ?
🙁 A part l'affichage de commentaire il n'y a pas d'événement lié au survol d'une cellule...
autre formulation sans appel à d'autres fonctionnalités non native
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 And Target.Cells.Count = 1 Then
        Dim age As Long, a, m, j
        age = Now - Target.Value
        a = Int(age / 365.25)
        m = Int((age / (365.25 / 12)) Mod 12)
                    'j=int(age mod(365.25/12))
                    ' === !!!!! Mod VBA arrondi les nombres à virgules flottantes à des nombres entiers
        j = Int(age - (365.25 / 12) * Int(age / (365.25 / 12)))
        On Error Resume Next
        Target.AddComment
        Target.Comment.Text Text:= _
                IIf(a > 0, a & IIf(a > 1, " ans ", " an "), "") _
                & IIf(m > 0, m & " mois ", "") _
                & IIf(j > 0, j & IIf(j > 1, " jrs", " jr"), "")
End If

End Sub
 
Bonsour®
Bonjour Modeste geedee,
Le code indique une erreur d'une journée.

si l'on tape 05/11/1955 le calcul dans le commentaire donne 63 ans 1 jr or on devrait obtenir 63 ans.
🙄 ça dépend de la valeur que tu accordes à une année (365 ou 366 jours)
peut-être aussi ton heure de naissance est antérieure à l'heure de consultation 😛

mois et années ne sont pas des constantes arithmétiques !!!
ce découpage en années mois et jours n'est qu'une satisfaction visuelle
seule la valeur en jours représente l'age !
soit 23011 jours depuis 05/11/1955

la fonction proposée utilise les valeurs mathématiques moyennes d'une année et mois exprimées en jours et fraction de jours
i.e : 365.25 j et 30.4375 j
 
Dernière édition:
Bonjour à toutes et tous, Bonjour pierrejean,

J'utilise la macro de pierrejean au post #2.
Y a-t-il moyen de faire pour que les ages dans les commentaires s'actualisent à chaque activation de la feuille.

Par avance merci pour vos réponses.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
345
  • Résolu(e)
Microsoft 365 DateDif()
Réponses
5
Affichages
351
Réponses
15
Affichages
591
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
338
Retour