Problème tri des dates VBA

Signaler
-
Patrice33740
Messages postés
7885
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 janvier 2020
-
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

Messages postés
1520
Date d'inscription
lundi 2 juillet 2018
Statut
Membre
Dernière intervention
7 janvier 2020
209
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 : http://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



Messages postés
7885
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 janvier 2020
1258
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.


Cordialement
Patrice

Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.
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
Patrice33740
Messages postés
7885
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 janvier 2020
1258
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.
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 ?
Patrice33740
Messages postés
7885
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
7 janvier 2020
1258