Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 double filtre

patugui

XLDnaute Nouveau
Bonjour,

J'ai un tableau avec :
colonne A des dates
colonne B des villes

Et je voudrai trier de maniere à ce que mes lignes soient regroupées par ville (tri par nom)
mais avec en premiere ligne de chaque nom, priorité à la date la plus ancienne (tri par date la plus ancienne)

J'ai fait le double filtre, mais ça ne donne pas ce que je veux.
ex tous les Lille regroupés, date la plus ancienne à la plus récente, puis tous les Arras regroupés ...etc.

04/06/2024LILLE
04/06/2024LILLE
04/06/2024ARRAS
04/06/2024ARRAS
05/06/2024LILLE
05/06/2024DOUAI
05/06/2024PARIS
06/06/2024DOUAI
06/06/2024LILLE
06/06/2024PARIS
07/06/2024ARRAS
 
Solution
Bonjour à tous

@patugui bienvenu sur XLD

Je te propose ce fichier

A noter que "Filtre" (comme ton titre) et "Tri" comme ce que tu décris dans ton explication n'est pas du tout la même chose .

Bonus :
J'ai fais en plus le code pour ton vrai fichier voir le code VBA dans le fichier

Merci de ton retour

Phil69970

XLDnaute Barbatruc
Bonjour à tous

@patugui bienvenu sur XLD

Je te propose ce fichier

A noter que "Filtre" (comme ton titre) et "Tri" comme ce que tu décris dans ton explication n'est pas du tout la même chose .

Bonus :
J'ai fais en plus le code pour ton vrai fichier voir le code VBA dans le fichier

Merci de ton retour
 

Pièces jointes

  • Tri sur 2 niveaux V1.xlsm
    31.5 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Bonsoir.
VB:
Sub Tri()
   Dim RngTri As Range
   Columns(3).Insert
   Set RngTri = [A2].Resize([A1000000].End(xlUp).Row - 1, 3)
   RngTri.Sort Key1:=RngTri.Columns(2), Order1:=xlAscending, Key2:=RngTri.Columns(1), Order2:=xlAscending
   With RngTri.Columns(3): .FormulaR1C1 = "=IF(RC2<>R[-1]C2,RC1,R[-1]C)": .Value = .Value: End With
   RngTri.Sort Key1:=RngTri.Columns(3), Order1:=xlAscending, Key2:=RngTri.Columns(2), Order2:=xlAscending
   Columns(3).Delete
   End Sub
En somme 3 opérations fondamentales :
1) — Tri par Villes puis Date
2) — Dans une colonne libre ou créée à cet effet, mettre au moyen d'une formule la date la plus ancienne de chaque ville dans toutes ses lignes, et la figer.
3) — Tri par dates anciennes puis par Villes.
 

Phil69970

XLDnaute Barbatruc
Re

@patugui

As tu pu essayer les différentes solutions ?
Est ce que les réponses proposées par les différents intervenants répondent à ta question ?
Si non qu'est ce qui ne va pas ?
Si oui laquelle répond le mieux à t'on problème ?

En clair on attend tes commentaires genre :
- Cette solution de X ne fonctionne pas comme je veux car il y a un Pb ici ou quand je fais cela il se passe ceci etc ...
- Cette solution de Y fonctionne avec le fichier fourni mais quand je l'applique à mon vrai fichier le résultat devra être comme ça au lieu de comme ci etc....
-Cette solution de Z fonctionne totalement comme je veux y compris à mon vrai fichier ....
 

patugui

XLDnaute Nouveau
Bonjour,
Merci beaucoup, c'est exactement ça que je cherchais,
je n'arrive cependant pas a voir la formule du bouton "tri" que vous m'avais créé, pour que je l'affecte à mon véritable tableau.
 

Phil69970

XLDnaute Barbatruc
Re

@patugui

je n'arrive cependant pas a voir la formule du bouton "tri" que vous m'avais créé, pour que je l'affecte à mon véritable tableau.

Ce n'est pas une formule mais une macro

Tout en image :

As tu l'onglet Développeur ?


Comment ouvrir l'onglet développeur

https://www.google.com/search?client=firefox-b-d&q=activer+onglet+developpeur+

ou autrement sur ma version d'excel ...





Ou bien voir explication ici

Et pour faire le bouton


Ensuite tu choisis la couleur que tu veux


Et enfin tu sélectionnes ta forme avec le bouton droit



Tu sélectionnes la macro et OK



Bravo tu as réussi
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…