Classer des dates issues d'un userform

Résolu/Fermé
saved68 - 29 nov. 2021 à 14:51
 saved68 - 30 nov. 2021 à 10:45
Bonjour,

j'ai fait un userform qui me permet de compléter un tableau, et notamment une colonne date de naissance.
Je souhaiterais classer la colonne des dates de naissance par ordre chronologique, mais excel prend en compte le jour, puis le mois et l'année, et non l'année, le mois et le jour.
y a-t-il une manipulation spécifique à faire pour qu'il le prenne dans ce sens?

merci pour votre réponse!

Configuration: Windows / Chrome 96.0.4664.45

4 réponses

yg_be Messages postés 23316 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 novembre 2024 Ambassadeur 1 552
29 nov. 2021 à 15:50
bonjour,
tu enregistres peut-être du texte, et pas des dates.
0
Merci pour ta réponse,
Effectivement, ça a l'air de s'enregistrer en format texte, bien que je précise dans la colonne le format date.
je pense que dans le VBA, il faut que je précise quelque chose, mais je n'arrive pas à trouver quoi...
Saved
0
yg_be Messages postés 23316 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 novembre 2024 1 552
29 nov. 2021 à 17:15
que fais-tu dans ce VBA?
0
Dans le vba je dis juste où se placent les données récoltées par le userform.
J’ai un txtbox qui reçoit la date de naissance ( c’est peut être de là que vient le pb) et ensuite, j’imagine qu’il faut mettre cette donnée en format date mais je ne sais pas comment le faire.
0
yg_be Messages postés 23316 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 8 novembre 2024 1 552
29 nov. 2021 à 21:08
As-tu envisagé de récolter des dates et pas du texte? N'existe-t-il pas des moyens de récolter des dates dans un userform.

Sinon, il ne faut pas mettre les données en "format" date, il faut créer une date à partir du texte.
Cela peut se faire en utilisant la fonction dateserial() en VBA.
Ou, dans Excel, en utilisant des formules, telle que date().
0
Merci!
Je crois que j'ai réussi!
Effectivement, il fallait que j'indique dans ma feuille VBA que la date indiquée devait etre prise en tant que date et non texte. pour cela j'ai rajouté la commande "Cdate" (je ne sais pas si ce sont les bons termes, du coup, je mets ma ligne de commande...

ActiveCell.Offset(0, 6).Value = CDate(txtNais)

Merci pour ton aide!
0