XL 2019 Tri sans tenir compte de "le la les l' un une des etc."

alexandre33260

XLDnaute Occasionnel
Bonjour, dans le fichier joint, je cherche une solution pour trier sans tenir compte des "le la les l' un une des etc.".
Le tri doit s'effectuer en fonction de deux colonnes, en premier la colonne C puis la colonne B.
Si possible, le tri doit pouvoir être réalisé à l'aide d'un bouton nommé Tri (Saga/Nom).
Puis un autre bouton qui ne trirait qu'en fonction de la colone B nommé Tri(Nom)
Merci pour votre aide.
 

Pièces jointes

  • TestAlpha.xlsx
    13.6 KB · Affichages: 28

alexandre33260

XLDnaute Occasionnel
Bonsoir, oui, pour le tri, c'est un tri alphabétique comme il y a dans Edition/Trier et filtrer d'Excel.
Pour l'essai de Chalet53, cela ne fonctionne pas.
Je voudrai un tri par ordre alphabétique mais qu'excel ne tienne pas compte des un une des le la etc.
s'il y a : La boulangerie, il classe à B et pas à L...
 

job75

XLDnaute Barbatruc
Bonsoir alexandre33260, eastwick, CHALET53,

Voyez le fichier joint et les macros des boutons :
VB:
Sub Tri()
Application.ScreenUpdating = False
With [A1].CurrentRegion
    .Columns(2).EntireColumn.Insert 'insère une colonne auxiliaire
    .Columns(2) = "=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(UPPER(TRIM(RC[1])),""L'"",),""LE "",),""LA "",),""LES "",),""UN "",),""UNE "",),""DES "",)"
    .Columns(2) = .Columns(2).Value 'supprime les formules
    If InStr(ActiveSheet.DrawingObjects(Application.Caller).Text, "Saga") Then .Sort .Columns(4), xlAscending, .Columns(2), , xlAscending, Header:=xlYes _
        Else .Sort .Columns(2), xlAscending, Header:=xlYes
    .Columns(2).EntireColumn.Delete 'supprime la colonne auxiliaire
End With
End Sub

Sub RAZ()
[A1].CurrentRegion.Sort [A1], xlAscending, Header:=xlYes
End Sub
PS : j'ai supprimé les formules en colonne A pour pouvoir revenir à l'ordre initial.

Bonne nuit.
 

Pièces jointes

  • TestAlpha(1).xlsm
    20.9 KB · Affichages: 17
Dernière édition:

Laurent78

XLDnaute Occasionnel
Bonjour à Tous,
une autre idée, sans macro, avec des colonnes intermédiaires (que l'on peut masquer).
Avec la possibilité d'ajouter assez facilement d'autres cas de figure, sans trop de risque. Il faut ajouter une colonne et modifier la formule de concaténation en conséquence.

Petite question, il n'y a toujours pas dans Excel une fonction Texte qui permet de faire la concaténation d'une zone ? j'ai une doute si ça existe ...

@+
 

Pièces jointes

  • TestAlpha(1).xlsm
    19.5 KB · Affichages: 10

Laurent78

XLDnaute Occasionnel
Bonjour Job,
En effet, une seule peu suffire, mais l'ajout d'une colonne peut, pour certains, être plus simple que de modifier une formule avec de nombreuses imbrications. Mais en effet, 1 problème, plusieurs solutions possibles.
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 086
Messages
2 085 197
Membres
102 814
dernier inscrit
JLGalley