Problème tri des dates VBA

Fermé
GOTHIE - 6 janv. 2020 à 17:05
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 7 janv. 2020 à 11:01
Bonjour,

J'ai un soucis que je ne parviens pas à résoudre depuis un moment.

J'ai créé un fichier avec macro pour la saisie de données personnelles.
Dans ma fenêtre de saisie, je rentre la date qui sera par la suite placé dans ma colonne B à la dernière ligne après validation.

Mon problème est que la fonction tri ne classe pas les dates par année, mois et jour, elles sont simplement affichées sous le format dd/mm/aaaa une par une.

En modifiant mon programme en : Range("B" & L).Value = VBA.Date
Cela fonctionne mais m'empêche de mettre une autre date que celle du jour.

J'ai essayé en changeant le format de la cellule en Date mais cela ne fonctionne pas.

Je voudrais avoir un TextBox où je pourrais y mettre ma date voulu et après validation qu'elle soit rangé et tri par année, mois et jour dans mon classeur.

(Je peux modifier la date directement dans mon classeur et y mettre le format date pour que le tri prenne effet mais je voudrais tout faire par macro :) )

Merci de votre aide,

Cordialement,

GOTHIÉ


Configuration: Windows / Edge 15.15063

4 réponses

JCB40 Messages postés 2878 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 14 avril 2024 461
6 janv. 2020 à 17:08
Bonjour,
Un exemple de votre fichier avec explications serait le bienvenu.
Pour transmettre un fichier,
Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
Cordialement



0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
Modifié le 6 janv. 2020 à 17:19
Bonjour,

Il est fort probable que sur la feuille, les dates n'en soient pas, mais qu'elles soient des textes !
Comment mets-tu ces dates dans la feuille ?

Il y a un truc très simple pour savoir si une cellule contient un texte ou un nombre (une date est un nombre) :
Alignement horizontal standard (ni droite, ni centre, ni gauche, ni ...) : les textes sont alignés à gauche et les nombres à droite.


0
Voici une version simplifier du mon fichier avec quelques exemples de dates non prises en compte dans le tri.

https://www.cjoint.com/c/JAhgPfSazj5

Merci de votre aide
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
7 janv. 2020 à 09:21
Bonjour,

Ça confirme ce que je soupçonnait : certaines dates sont des nombres et d'autres des textes. !!!

Un txtbox contient du texte : lorsqu'on met sa valeur directement dans celle d'une cellule, c'est du texte, pas une date. Le changement du format d'une cellule n'agit pas sur la valeur contenue dans celle-ci : c'est pas parce qu'on met une cellule au format date que le texte qu'elle contient devient une date, il reste du texte.

Pour avoir une date dans une cellule il faut y mettre une valeur au format date, il faut donc convertir le contenu du txtbox en date avant de l'écrire dans la cellule.
0
Je vois très bien ce que vous voulez dire et c'est bon à savoir merci !

Et avez vous donc une solution pour convertir le contenu du txtbox en date en VBA ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
7 janv. 2020 à 11:01
0