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

calcul des dates

  • Initiateur de la discussion Initiateur de la discussion irenee
  • 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 !

I

irenee

Guest
Bonjour,
Je suis encore novice avec les macros, quelqun peut il m'aider à écrire une macro qui calcule automatiquement l'age des sujets à partir de la date de naissance et la date du jour. Je sais le faire avec les formules, mais j'aimerai le faire avec une macro

Merci
 

Pièces jointes

Re : calcul des dates

Bonsoir irenee, le Forum,

Voici une façon de faire :

Dans un module de code Standard, tu copies la Fonction personnalisée suivante :
Code:
[COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Function[/COLOR] Age(R [COLOR=NAVY]As[/COLOR] Range) [COLOR=NAVY]As String[/COLOR]
[COLOR=GREEN]'myDearFriend! - www.mdf-xlpages.com[/COLOR]
[COLOR=NAVY]Dim[/COLOR] D [COLOR=NAVY]As Date
Dim[/COLOR] A [COLOR=NAVY]As Byte[/COLOR], M [COLOR=NAVY]As Byte[/COLOR], J [COLOR=NAVY]As Byte
    If[/COLOR] IsDate(R.Value) [COLOR=NAVY]Then[/COLOR]
        D = R.Value
        A = DateDiff("yyyy", D, [COLOR=NAVY]Date[/COLOR])
        D = DateAdd("yyyy", A, D)
        M = DateDiff("m", D, [COLOR=NAVY]Date[/COLOR])
        D = DateAdd("m", M, D)
        J = DateDiff("d", D, [COLOR=NAVY]Date[/COLOR])
        Age = A & " ans, " & M & " mois et " & J & " jours"
    [COLOR=NAVY]Else[/COLOR]
        Age = "Erreur!"
    [COLOR=NAVY]End If
End Function[/COLOR]
Ensuite, dans la cellule C2 de ton fichier par exemple, tu tapes :
=Age(A2)
(au besoin, tu tires cette formule vers le bas)

Cordialement,
 
Dernière édition:
Re : calcul des dates

Bonjour irenee, Didier.

Didier, merci pour ta macro-fonction, mais elle ne fonctionne pas toujours. Si je met un mois supérieur à 10, cela met une erreur #valeur.

Comment peut-on y remédier?
 
Re : calcul des dates

Bonjour Didier et MDF.
J'aimerai aussi écrire une fonction ou une macro qui identife les doublon dans une colonne et les colorent len vert par exemple
Merci
 
Re : calcul des dates

Bonsoir irenee, MJ13, le Forum,

irenee, on va peut-être déjà tenter de répondre à ta première question, si tu veux bien... non ?

Eh bien, Michel, je vais te remercier, tu viens de me faire prendre conscience que la fonction VBA DateDiff() était boguée à souhait...

Par exemple :
DateDiff("yyyy","15/11/2007","23/09/2008") = ..... 1 an !! Epatant, non ? 😕

Mais pour une fois, les fonctions de feuille de calcul d'Excel nous fournissent une réponse simple et bien plus efficace que leur pseudo équivalent VBA. Chip Pearson nous l'explique sous ce lien : DATEDIF Worksheet Function

En C2, on peut cette fois saisir :
=DATEDIF(A2;AUJOURDHUI();"y")&" ans, "&DATEDIF(A2;AUJOURDHUI();"ym")&" mois et "&DATEDIF(A2;AUJOURDHUI();"md")&" jours"

irenee, je te conseille de créer un autre sujet pour ton autre question qui, visiblement, n'a rien à voir avec celle-ci...

Cordialement,
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
159
Réponses
3
Affichages
407
Réponses
5
Affichages
171
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…