Trier plusieurs colonnes [Résolu]

Messages postés
205
Date d'inscription
mercredi 4 mars 2015
Statut
Membre
Dernière intervention
30 novembre 2019
- - Dernière réponse : mic6259
Messages postés
205
Date d'inscription
mercredi 4 mars 2015
Statut
Membre
Dernière intervention
30 novembre 2019
- 25 nov. 2019 à 07:24
Bonjour,
J'aimerais trier les colonnes par ordre alphabétique , a partir de B2 et F2 en sachant que B2 et C2 sont ensemble même chose pour F2 et G2 jusqu’à la lignes 51.
En VBA ou en formule.
Merci beaucoup
Afficher la suite 

2 réponses

Messages postés
2511
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
6 décembre 2019
289
0
Merci
Bonjour,

Un fichier (test ou non), complété par des explications exhaustives, mis sur https://www.cjoint.com/ permettrait de répondre plus précisément à ta question


Crdmt
mic6259
Messages postés
205
Date d'inscription
mercredi 4 mars 2015
Statut
Membre
Dernière intervention
30 novembre 2019
-
Bonsoir
Je reviens vers vous, car c'est vrai, j'ai oublier de mettre une pièce jointe que voici ci dessous.
Par contre, j'ai rajouté les colonnes en J2 et K2, et il est possible que j'en rajoute d'autres, mais en fonction de la solution que vous pourriez me proposer et que je vais modifier selon mes besoin, si vous le voulez bien.
Merci beaucoup
Ps: je sais pas créer du vba, mais je sais les modifier(a force je vais peut-être y arriver)

https://cjoint.com/c/IKytSLr7mk8
Commenter la réponse de DjiDji59430
Messages postés
11447
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 décembre 2019
1540
0
Merci
Bonsoir

Tu sais qu'il y a une solution pratique prévue par Excel dans ton cas ?
L'enregistreur de macro
Dans le ruban tu vas Dans Developpeur - Enregistrer une macro puis tu fais tes 3 manips de tri de tes doubles colonnes avant de stopper l'enregistrement
Dans l'éditeur VBA dans le module 1 tu obtiens alors :
Sub Macro1()
'
' Macro1 Macro
'

'
    Columns("B:C").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("B2:B51") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("B1:C51")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Columns("F:G").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("F2:F52") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("F1:G52")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Columns("J:K").Select
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add2 Key:=Range("J2:J53") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SetRange Range("J1:K53")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


Cdlmnt
Via
mic6259
Messages postés
205
Date d'inscription
mercredi 4 mars 2015
Statut
Membre
Dernière intervention
30 novembre 2019
-
Bonjour Via
On apprends tous les jour, j'ai essayé ta solution, formidable on peut pratiquement faire ce que l'on veut avec l'enregistreur de macro.
Merci pour le tuyau
Cordialement
Commenter la réponse de via55