Impossible Trier

[Résolu/Fermé]
Signaler
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
-
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
-
Bonjour.

Le un des problèmes les plus ardus qu'il m'est été donné de rencontrer sur Excel:

Je veux trier par ordre chronologique les dates de la cellule B.
Ayant des dates d'avant 1900 dans la colonne A, J'ai appliqué la formule suivante que l'on m'avait donné, à toute cette colonne.
=SI(ESTNUM(A1520);DATE(ANNEE(A1520)+1000;MOIS(A1520);JOUR(A1520));(GAUCHE(A1520;2) & STXT(A1520;3;NBCAR(A1520)-7) & CNUM(DROITE(A1520;4))+1000)*1)

Ce qui me permet d'obtenir en colonne B une date 'triable"

Hors, quand je veux trier, Excel me renvoie le message:




J'ai perdu beaucoup d'heures hier à essayer de trouver une réponse, lu des tonnes de posts, sans résultat.

Mes cellules ne sont pas fusionnées
Leur taille est identique puisque j'ai donné la Hauteur de ligne sur tout le tableau
à sa création.




A voir également:

6 réponses

Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
331
Bonjour
Excel n'invente rien.
N'auriez-vous pas pour une question de lisibilité fusionner les cellules A1 et B1 pour n'en faire qu'une et la nommer "Date" à tout hasard?
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
6
Non, Frenchie83.
La colonne A est au format date "mardi 25 août 2015 "
La colonne B est au format date "25/08/3015"
Elles ne sont donc non fusionnées.
Messages postés
26242
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
26 octobre 2021
6 092
Bon jour
je crois que l'on va insister pour que vous vérifiiez si aucune cellule n'est fusionnée, car Excel est assez précis dans son message!
Pour cela, sélectionnez toute la feuille via la case avec le triangle blanc à gauche de la règle des colonnes et défusionnez tout;
recommencer le tri et voyez
crdlmnt
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
6
Bonjour Vaucluse.

J'ai vérifié cela.
Le message d'alerte me dit: "Pour ce faire, la taille des cellules fusionnées doit être identique"
Les cellules sont de taille identique
Elles ne sont pas fusionnées.
Messages postés
26242
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
26 octobre 2021
6 092
Alors si possible, placer un fichier avec au moins la feuille qui pose problème sur
https://www.cjoint.com/
et revenez ici coller le lien donné par le site
à vous lire
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
6 >
Messages postés
26242
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
26 octobre 2021

Désolé. Pas le droit.
Merci quand même.
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
331
Même pas une copie épurée de toutes données confidentielles?
Messages postés
26242
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
26 octobre 2021
6 092
... et même pour vérifier , un modèle avec la feuille en l'état vidée de toutes informations en nous indiquant dans quelles colonnes sont vos dates??
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
6
Voici mes macros.

Les lignes 1 et 2 sont des titres.
La colonne A contient des dates, dont certaines, avant 1900, au format mardi 25 août 2015.
La colonne B contient les dates + 1000 ans au format 28/08/2015
Pas de calculs dans la feuille.

BORDURE INFERIEURE CELLULE

Public Sub OK()
Dim plage As Range
Set plage = Range("A3:G3000")
plage.Borders(xlEdgeBottom).LineStyle = xlContinuous
plage.Borders(xlInsideHorizontal).LineStyle = xlContinuous
End Sub

VENIR DEBUT TABLEAU

Private Sub CommandButton1_Click()
Application.Goto Range("A1"), True
End Sub

ALLER FIN TABLEAU

Private Sub CommandButton2_Click()
Range("A" & Rows.Count).End(xlUp).Select
End Sub

INSERE LIGNE AU DESSUS LIGNE ACTIVE

Private Sub CommandButton3_Click()
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
End Sub

RECHERCHER

Private Sub CommandButton4_Click()
Application.CommandBars("Edit").Controls.Item("Rechercher...").Execute
End Sub

TRI PAR DATE

Private Sub CommandButton5_Click()
' Tri Macro
' Trier par date
Range("B3:B3000").Select
ActiveWindow.ScrollRow = 6
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A3:G3000")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
End With
End Sub

MISE EN COULEUR CELLULE ACTIVE + COLORER GROUPE CELLULES

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("A1")) Is Nothing Then 'Plage'
Application.ScreenUpdating = False
' Clear the color of all the cells
Cells.Interior.ColorIndex = 0
' Highlight the active cell
Target.Interior.ColorIndex = 8
Range("C1:E1").Interior.Color = 10092543 'Met la plage donnée à la couleur de: adapter la couleur avec Code Microsoft...'
Range("A2:G2").Interior.Color = 16777164 'Met la plage donnée à la couleur de: adapter la couleur avec Code Microsoft...'
Range("F1:G1").Interior.Color = 13434828 'Met la plage donnée à la couleur de: adapter la couleur avec Code Microsoft...'
Application.ScreenUpdating = True
End If
End Sub

Vous y découvrirez certainement des erreurs ou des formules à simplifier...

Merci à tous...
Messages postés
24205
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
6 938
Bonjour,

si excel te le dit, c'est avec raison. Il se trompe rarement...
Si tu tries sur A:G, sélectionne ces colonnes, fusionne et défusionne pour faire le ménage.

eric

PS : on peut TOUJOURS déposer un fichier exemple. Il suffit de mettre Mr Patate au lieu de Mr Martin et 12 à la place de 150000

En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
6
J'ai fusionné et dé-fusionné je ne sais combien de fois... Par acquis de conscience.
Messages postés
54894
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
27 octobre 2021
16 802
Renvoie ta seconde capture d'écran du post initial, mais en capturant aussi les titres de lignes et de colonnes ...
Messages postés
2228
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
1 octobre 2021
331
Bonjour
J'ai fait tourner votre macro de TRI, il y manque la ligne qui applique le tri ".Apply".
Puisque vous nous fournissez aucun document sur lequel on puisse s'appuyer pour tester, J'ai créé une feuille avec les 2 colonnes en A et B comme chez vous, lancé la macro de tri et tout s'est passé sans problème.
Private Sub CommandButton5_Click()
' Tri Macro
' Trier par date
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("B2"), _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("A3:G3000")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Si l'erreur persiste chez vous et que vous ne faites pas l'effort de nous fournir ce que tout le monde vous réclame (une copie de votre feuille sans données confidentielles) afin de pouvoir vous aider, malgré toutes les bonnes volontés de ce forum, nous ne pourrons pas grand chose pour vous.
Cdlt

PS: Avez-vous recopier votre feuille (uniquement les données) sur une autre feuille et fait un tri?
Messages postés
186
Date d'inscription
vendredi 5 décembre 2014
Statut
Membre
Dernière intervention
5 janvier 2018
6
Merci Frenchie83.

Cela a fonctionné du premier coup.
Par contre, si je le fais en manuel (sélection des cellules, tri A-Z), le problème persiste.
Mais puisque la macro fonctionne, je mets en résolu.
Merci encore...