Bonsoir
j'ai une extbox dans un userform dans laquelle j'ai une date, (31/01/50), est il possible d'avoir dans une textbox voisine d'avoir la valeur (aujourd'hui - 31/01/50).
je n'est aucune idee.
merci a vous
chris
Bonsoir
j'ai une extbox dans un userform dans laquelle j'ai une date, (31/01/50), est il possible d'avoir dans une textbox voisine d'avoir la valeur (aujourd'hui - 31/01/50).
je n'est aucune idee.
merci a vous
chris
je seche sur cette fonction.
Pourtant c'est bien expliqué sur l'aide vba et avec des exemples. essaies encore
je suis arrive a avoir la bonne valeur par rapport a la date donnee, mais c'est dans ma feuille, j'autais aime voir cette valeur dans une textbox de mon userform.
chris
Je tomberai dans ton piège cette fois"d", pour jours
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub TextBox1_AfterUpdate() If IsDate(Me.TextBox1.Value) Then Me.TextBox2.Value = DateDiff("d", Date, Me.TextBox1.Value) Else Me.TextBox2.Value = "" End If End Sub
"m", pour mois
"yyyy" pour années
...
utilise F1
bonsoir
je ne cherchais nullement a te pieger, je ne sais simplement comment faire pour recupere une valeur d'une cellule, dans une textbox d'un userform.
merci pour tes infos
cordialement chris.
Ta question initiale était:J'avais proposé un code, dès que la date de TextBox1 est mise à jour, dans TextBox2 tu récupère le nombre de jour entre aujourd'hui et la date contenue dans TextBox1j'ai une Textbox dans un userform dans laquelle j'ai une date, (31/01/50), est il possible d'avoir dans une textbox voisine d'avoir la valeur (aujourd'hui - 31/01/50).
j'ai mis le code mais il ne fonctionne pas, peu etre que je l'est mal transcris.
je ne cherche a piege personne, j'essai d'apprendre, mais seul ce n'est pas facile. merci a toi pour toutes tes bonnes infos. et biensur a ce site, ou il y a une multitude d'infos, mais pas toujours facile de si retrouver
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Datenaiss_AfterUpdate() If IsDate(Me.Datenaiss.Value) Then Me.Age.Value = DateDiff("YY", Date, Me.Datenaiss.Value) Else Me.Age.Value = "YY" End If End Sub
Je retire ce que j'avais dis concernant le piège. désolé
Une question, As tu consulté l'aide sur DateDiff?
si oui, tu n'aurais pas mis "YY"ce code est à mettre dans le module de ton userform, évènement afterupdate de ton textbox datenaiss
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Datenaiss_AfterUpdate() If IsDate(Me.Datenaiss.Value) Then Me.Age.Value = DateDiff("yyyy", Me.Datenaiss.Value, Date) Else Me.Age.Value = "" End If End Sub
j'ai regarder la fonction datediff mais je n'avais pas vu ce que cherchais pour l'integrer dans un userform.
Pour ce qui est de ta reponse.
parfait cela marche tres bien, sauf que j'ai le signe negatif, mais je m'en accommoderais.
je pensais comme dans une feuille que de mettre aa ou yy suffisait.
chapeau a toi, je constate que que connais enormement de fonction excel.
merci a toi pour toutes les infos et codes que tu m'as fourni depuis quelques semaines.
cordialement
chris qui ne fait qu' apprendre de jour en jour.
Si DateFin > DateDebut alors DateDiff > 0 et vice versaDateDiff("yyyy", DateDebut, DtaeFin)
Pour moi j'avais deviné que Datenaiss est toujours inférieure à aujourd'hui.
Sinon, une autre possibilité, c'est de créer sa propre fonction de calcul d'âge et de faire appel à elle (exemple, j'ai pris la sortie comme texte)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Function fctAge(ByVal DN As Variant) As String If IsDate(DN) Then fctAge = Cstr(DateDiff("yyyy", DN, Date)) Else fctAge = "" End If End Function Private Sub Datenaiss_AfterUpdate() Me.Age.Value = fctAge(Me.Datenaiss.Value) End Sub
pile poil ce code.
cordialement
chris
Partager