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

Microsoft 365 Tris spéciaux

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite une belle fin de dimanche

Je voudrais faire des tris spéciaux.
Par exemple :
Prospect 122550 MATIGNON 1 rue excel-downloads
Trié sur 22550 ou MATIGNON (remarque IMPORTANTE : 22550 et MATIGNON sont dans la même cellule)
Cela me ferait économiser des colonnes ainsi que de la taille fichier.


J'ai tenté et fait des recherches mais je n'y suis pas arrivé.
D'ailleurs, est-ce possible ?
Si oui, auriez-vous le bon code ?
Je joins un petit fichier test.

Avec mes remerciements,
Je continue mes recherches.
Amicalement,
lionel
 

Pièces jointes

  • tri_test.xlsm
    21.9 KB · Affichages: 9
Dernière édition:
Solution
Bonsoir Lionel,

Les codes des 2 boutons :
VB:
Sub Tri_CP()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(.Columns.Count + 1).Resize(, 2).Insert xlToRight '2 colonnes auxiliaires
    With .Columns(.Columns.Count + 1)
        .FormulaR1C1 = "=LEFT(RC[-1],FIND("" "",RC[-1])-1)"
        .Offset(, 1).FormulaR1C1 = "=MID(RC[-2],FIND("" "",RC[-2])+1,999)"
        .EntireRow.Sort .Cells, xlAscending, .Cells(1, 2), , xlAscending, Header:=xlYes
        .Resize(, 2).Delete xlToLeft 'supprime les colonnes auxiliaires
    End With
End With
End Sub

Sub Tri_Ville()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(.Columns.Count + 1).Resize(, 2).Insert xlToRight '2 colonnes auxiliaires
    With...

job75

XLDnaute Barbatruc
Bonsoir Lionel,

Les codes des 2 boutons :
VB:
Sub Tri_CP()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(.Columns.Count + 1).Resize(, 2).Insert xlToRight '2 colonnes auxiliaires
    With .Columns(.Columns.Count + 1)
        .FormulaR1C1 = "=LEFT(RC[-1],FIND("" "",RC[-1])-1)"
        .Offset(, 1).FormulaR1C1 = "=MID(RC[-2],FIND("" "",RC[-2])+1,999)"
        .EntireRow.Sort .Cells, xlAscending, .Cells(1, 2), , xlAscending, Header:=xlYes
        .Resize(, 2).Delete xlToLeft 'supprime les colonnes auxiliaires
    End With
End With
End Sub

Sub Tri_Ville()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Columns(.Columns.Count + 1).Resize(, 2).Insert xlToRight '2 colonnes auxiliaires
    With .Columns(.Columns.Count + 1)
        .FormulaR1C1 = "=LEFT(RC[-1],FIND("" "",RC[-1])-1)"
        .Offset(, 1).FormulaR1C1 = "=MID(RC[-2],FIND("" "",RC[-2])+1,999)"
        .EntireRow.Sort .Cells(1, 2), xlAscending, .Cells, , xlAscending, Header:=xlYes
        .Resize(, 2).Delete xlToLeft 'supprime les colonnes auxiliaires
    End With
End With
End Sub
A+
 

Pièces jointes

  • tri_test(1).xlsm
    26.6 KB · Affichages: 2

Discussions similaires

Réponses
22
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…