Microsoft 365 Trie par date

GClaire

XLDnaute Occasionnel
Supporter XLD
Hello la communauté

Je bloque sur un code qui devrais être simple, mais a priori pas si simple du fait de format date : DD DDDD MMMM AAAA

J'aimerais trier ma colonne "A" (avec entête) par ordre de date plus ancienne a plus récente jusqu'à la colonne "F"

Pour ce faire j'inclus le code dans un code qui me permet de formater mon tableau

VB:
Sub Format_Bordure_Récapitulatif_Affaires()

Dim Format_WS As Worksheet
Dim rng As Range, n As Long

Set Format_WS = Sheets("Récapitulatif_Affaires")

With Format_WS
    n = .Cells(.Rows.Count, 1).End(xlUp).Row 'Colonne A
    'MsgBox n
    .Cells(1, 1).Resize(n, 6).Borders.Weight = xlThin 'N° ligne inclus titre de la colonne et Le nombre de colonne a traiter
    'MsgBox n
        .Columns("A:A").NumberFormat = "General" 'On change le format
    With .Columns("A:F")
        .EntireColumn.AutoFit 'on fait une mise en largeur automatique
        .Sort Key1:=Range("A:F"), Order1:=xlAscending, Header:=xlYes 'On fait le trie par date avec en-tête
    End With
        .Columns("A:A").NumberFormat = "dd dddd mmmm yyyy" 'On remet le bon format
End With
Set Format_WS = Nothing
End Sub

Le trie ne se fait pas comme je souhaiterai

Avant :

001-Avant.JPG


Aprés :

002-Aprés.JPG


Auriez-vous une idée du comment faire pour que cela fonctionne comme je souhaiterai?

Merci, G'Claire
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour GClaire,
En PJ avec votre macro simplifiée, ça a l'air de marcher :
VB:
Sub Format_Bordure_Récapitulatif_Affaires_Descendant()
Dim Format_WS As Worksheet
Dim rng As Range, n As Long
Set Format_WS = Sheets("Récapitulatif_Affaires")
With Format_WS
    n = .Cells(.Rows.Count, 1).End(xlUp).Row 'Colonne A
    .Cells(1, 1).Resize(n, 6).Borders.Weight = xlThin 'N° ligne inclus titre de la colonne et Le nombre de colonne a traiter
    With .Columns("A:F")
        .EntireColumn.AutoFit 'on fait une mise en largeur automatique
        .Sort Key1:=Range("A:F"), Order1:=xlDescending, Header:=xlYes 'On fait le trie par date avec en-tête
    End With
End With
Set Format_WS = Nothing
End Sub
Par contre je n'explique pas votre souci, j'ai l'impression que le tri se fait en alpha sur la date. Bizarre.
 

Pièces jointes

  • Classeur123.xlsm
    18.8 KB · Affichages: 14

ChTi160

XLDnaute Barbatruc
Bonjour Jacques
Bonjour le fil ,le forum
Question .ta colonne contient du texte ou des dates formatées ?
Si texte ,il faudra remplir la colonne avec des dates et formater la colonne en "dddd dd mmmm yyyy" tu auras ainsi des dates et plus du texte
Jean marie
 

GClaire

XLDnaute Occasionnel
Supporter XLD
Hello tout le monde.

Oups j'étais en plein taff.

Merci pour les nombreuses réponses.

Alors a la base je les avais formaté en date.

Puis en cherchant sur le net, j'ai trouvé ce code, que je trouvé simple, et celui_ci les reformate en standart (A priori c'était mieux car en format date cela ne fonctionnait pas bien).

Donc elles sont formatés de toute manière en standart par rapport au code.

VB:
.Columns("A:A").NumberFormat = "General" 'On change le format

Me rend compte d'ailleurs que la déjà c'est pas le top car je prend en compte l'entête et la colonne complète, lol.

J'ai remis la fonction formatage avec ce code :

Code:
.Range("A" & DerrLigne).NumberFormat = "dddd dd mmmm yyyy" 'Formatage Date du mouvement

Merci, G'Claire
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Hi GClaire,
Il faut bien comprendre que le format n'impacte pas sur le contenu de la cellule.
Pour XL, 12/09/2020 et 44086 c'est exactement la même chose, seul le format change.

Mettez dans une cellule : = (une cellule de votre tableau en date) +1
Si le réponse est un nombre c'est ok, si la réponse est #Valeur alors c'est un texte.
Si c'est ok alors je ne comprends pas.

Ou plus simple, envoyez votre fichier, simplifié et anonymisé. seule deux trois lignes de votre tableau sont suffisantes.
 

soan

XLDnaute Barbatruc
Inactif
@sylvanu

Dans mon post #3, j'ai écrit :

« Si, effectivement le tri est un tri alphabétique sur la date (à partir du jour de la semaine) ».

Dans ton post #4, tu as écrit : « C'est l'avantage des fichiers joints. » ; alors ce que
j'ai écrit ensuite dans mon post #6, c'était pour indiquer que ma confirmation est
par rapport à la 2ème image du post #1, et pas par rapport à un fichier joint.

Je n'ai pas cherché à répéter ce que tu as écrit dans ton post #2. ;)

Ça va ? tu arrives à suivre toutes les références de posts ? :D
(c'est un nouveau jeu d'piste ! :p)


soan
 

Discussions similaires

Réponses
8
Affichages
373

Statistiques des forums

Discussions
314 626
Messages
2 111 297
Membres
111 093
dernier inscrit
Yvounet