Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Calcul de l'âge dans un commentaire

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

  • Test commentaire age.xlsx
    9.7 KB · Affichages: 15

Modeste geedee

XLDnaute Barbatruc
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
 

Modeste geedee

XLDnaute Barbatruc
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:

Jouxte

XLDnaute Occasionnel
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.
 

Discussions similaires

Réponses
46
Affichages
862
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…