Réactualisation

chilo

XLDnaute Occasionnel
Bonjour le FORUM

Je sollicite votre aide de nouveau

j'ai place ceci dans workbook

Function Age(d As Date) As String
Dim aa As Date, a&, m&, s&, j&

aa = Now()
RMMoteurs("contact!ad7:ad") = "18-04-2014"
If (d > 60) * (d <= aa) Then
Do While DateSerial(Year(d) + a + 1, Month(d), Day(d)) < aa: a = a + 1: Loop
Do While DateSerial(Year(d) + a, Month(d) + m + 1, Day(d)) < aa: m = m + 1: Loop
Do While DateSerial(Year(d) + a, Month(d) + m, Day(d) + (s + 1) * 7) < aa: s = s + 1: Loop '(semaines)
Do While DateSerial(Year(d) + a, Month(d) + m, Day(d) + s * 7 + j + 1) < aa: j = j + 1: Loop
Age = IIf(a, a & " an" & IIf(a > 1, "s", "") & " ", "") & IIf(m, m & " mois ", "") & IIf(s, s & " semaine" & IIf(s > 1, "s", "") & " ", "") & IIf(j Or (a + m + j = 0), j & " jour" & IIf(j > 1, "s", ""), "")
End If

End Function

et dans la feuille appellée contact

Private Sub Workbook_Open()
Range("A1") = "18-04-2014"
End Sub

cela fonctionne bien mais cela il ne se réactualise pas n ouvrant le classeur le lendemain

Est il possible de corriger ce petit souci ?

Par avance je vous remercie de votre aide
 

chilo

XLDnaute Occasionnel
Bonsoir le forum

Bonsoir JCGL

la solution proposée ne résout pas le problème la formule ne se réactualise pas il faut ressaisir de nouveau pour la mise à jour j'ai trouvé une formule mais je ne maitrise pas
=ENT(($A$2-A1)/365,25)& " ans "&MOIS($A$2-A1)-1&" mois "&JOUR($A$2-A1)&" jours"
J'ai en AD7 la date de naissance et je souhaiterai avec cette formule obtenir le décompte l'année, le mois, le jour dans la colonne F7

Est il donc possible de saisir la date et que la formule s'exécute automatiquement dans la colonne je ne parviens à la réaliser

la date est écrite en vba dans la colonne avec calandar pour garder le format 11/01/1985

je vous remercie

par la même occasion JCGL bienvenu dans le monde des retraités
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Pouvez vous essayer en mettant au début de votre fonction :
Application.Volatile
Mais elle risque d'être réévaluée tout le temps, lors de n'importe quel calcul.
L'autre solution serait de transmettre la date du jour en second paramètre.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Si vous souhaitez utiliser votre fonction, appliquez une des deux solutions indiquées au #9.
Excel ne peut pas savoir que la fonction doit être évaluée si elle dépend d'autre chose que ce qui lui est indiqué en paramètre. Donc soit on l'y indique soit on lui dit de l'évaluer tout le temps.
Ce lien n'existe plus
 

Discussions similaires

Réponses
2
Affichages
280

Statistiques des forums

Discussions
312 545
Messages
2 089 488
Membres
104 183
dernier inscrit
bast.coud