Macro à modifier

giorgios

XLDnaute Occasionnel
Bonsoir, Bonjour

Je souhaiterai modifier ma macro

Elle contient, entres autres, 3 possibilités de "Rangement" ( et je voudrai en ajouter une 4éme, voire une 5éme qui soit "Descending" )

Sheets("Classement Individuel(Ctrl+A)").Select
Range("b11:ay79").Select
Selection.Sort Key1:=Range("d2"), Order1:=xlDescending, Key2:=Range("e2") _
, Order2:=xlAscending, Key3:=Range("f2"), Order3:=xlDescending, Header _
:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("b11").Select
End Sub


Merci pour vos propositions

Giorgios
 

giorgios

XLDnaute Occasionnel
Re : Macro à modifier

Re,

Fais ton tri en 2 temps.
Un .sort sur les colonnes 4 et 5, puis un autre sur les colonnes 1, 2 et 3 (celui que tu as mis)

eric

Salut Eriic

Je n'arrive pas à comprendre ce que tu me demandes, sachant que la macro que je présente n'est pas de moi
donc difficile pour moi d'ajouter 2 "ordres" supplémentaires

Autre chose : quelqu'un pourrait-il m'expliquer ( dans cette macro )

pourquoi ma zone de rangement et de tri se situe en B11:AY72

alors que mes ordres de rangements sont d2, e2 ..... et non pas d11, e11...

Merci de m'aider à avancer et à comprendre

Giorgios
 

Staple1600

XLDnaute Barbatruc
Re : Macro à modifier

Bonjour


Voici un exemple de tri de 5 colonnes

Code:
Sub Macro1()
[COLOR=SeaGreen]' xlAscending=1; xlDescending=2[/COLOR]
Dim i&, t: t = [{1, 2, 1, 2, 1}]
For i = 1 To 5
    Columns(i).Sort _
        Key1:=Cells(1, i), _
        Order1:=t(i), _
        Header:=xlGuess, _
        OrderCustom:=1, _
        MatchCase:=False, _
        Orientation:=xlTopToBottom
Next i
End Sub
trimacro.gif
 
Dernière édition:

giorgios

XLDnaute Occasionnel
Re : Macro à modifier

Bonjour


Voici un exemple de tri de 5 colonnes

Code:
Sub Macro1()
[COLOR=SeaGreen]' xlAscending=1; xlDescending=2[/COLOR]
Dim i&, t: t = [{1, 2, 1, 2, 1}]
For i = 1 To 5
    Columns(i).Sort _
        Key1:=Cells(1, i), _
        Order1:=t(i), _
        Header:=xlGuess, _
        OrderCustom:=1, _
        MatchCase:=False, _
        Orientation:=xlTopToBottom
Next i
End Sub
Regarde la pièce jointe 159274

salut Stample

merci pour ta réponse

Dois-je supprimer toute ma macro initiale et la remplacer par ton exemple ou l'adapter ?

merci de m'éclairer

Giorgios
 

Staple1600

XLDnaute Barbatruc
Re : Macro à modifier

Re


J'ai le droit de déjeuner ou je dois te répondre séance tenante.:rolleyes:


Oui, il semble évident qu'il faille adapter le code fourni
(qui n'est là qu'a titre d'exemple)

Tu ne vois pas comment adapter icelui ?

Tu risques d'attendre longtemps de mes nouvelles
car cet après-midi je vais à la plage.
 

giorgios

XLDnaute Occasionnel
Re : Macro à modifier

Re


J'ai le droit de déjeuner ou je dois te répondre séance tenante.:rolleyes:


Oui, il semble évident qu'il faille adapter le code fourni
(qui n'est là qu'a titre d'exemple)

Tu ne vois pas comment adapter icelui ?

Tu risques d'attendre longtemps de mes nouvelles
car cet après-midi je vais à la plage.

amuse toi

à + tard

si quelqu'un à une idée ?
 

Staple1600

XLDnaute Barbatruc
Re : Macro à modifier

Re


Comme mes neveux font la sieste avant d'aller barboter

J'ai encore un peu de temps à passer ici

Code:
Sub Macro1a()
[COLOR=SeaGreen]' xlAscending=1; xlDescending=2
'colonnes: d,e,f,l,m[/COLOR]
Dim i&
For i = 1 To 13
    Select Case i
    Case 4 To 6
        Columns(i).Sort _
            Key1:=Cells(1, i), _
            Order1:=1, _
            Header:=xlGuess, _
            OrderCustom:=1, _
            MatchCase:=False, _
            Orientation:=xlTopToBottom
    Case 13
    Columns(i).Sort _
            Key1:=Cells(1, i), _
            Order1:=2, _
            Header:=xlGuess, _
            OrderCustom:=1, _
            MatchCase:=False, _
            Orientation:=xlTopToBottom
    End Select
Next i
End Sub

Évidemment, je te laisse le soin d'adapter à tes besoins spécifiques.
 

giorgios

XLDnaute Occasionnel
Re : Macro à modifier

Re


Comme mes neveux font la sieste avant d'aller barboter

J'ai encore un peu de temps à passer ici

Code:
Sub Macro1a()
[COLOR=SeaGreen]' xlAscending=1; xlDescending=2
'colonnes: d,e,f,l,m[/COLOR]
Dim i&
For i = 1 To 13
    Select Case i
    Case 4 To 6
        Columns(i).Sort _
            Key1:=Cells(1, i), _
            Order1:=1, _
            Header:=xlGuess, _
            OrderCustom:=1, _
            MatchCase:=False, _
            Orientation:=xlTopToBottom
    Case 13
    Columns(i).Sort _
            Key1:=Cells(1, i), _
            Order1:=2, _
            Header:=xlGuess, _
            OrderCustom:=1, _
            MatchCase:=False, _
            Orientation:=xlTopToBottom
    End Select
Next i
End Sub

Évidemment, je te laisse le soin d'adapter à tes besoins spécifiques.

merci pour tout le temps et les propositions que tu m'as accordés

j'essaie et je te tiens informer

bon après midi
 

giorgios

XLDnaute Occasionnel
Re : Macro à modifier

merci pour tout le temps et les propositions que tu m'as accordés

j'essaie et je te tiens informer

bon après midi

Re salut Staple

je n'y arrive pas

à la base, je voulais conserver ma macro d'origine et y ajouter les 2 ordres supplémentaires
Ta proposition est surement bonne mais je suis incapable de l'adapter sur mon fichier ( il y a plusieurs choses que je ne comprends pas)

Merci du temps que tu m'as consacré

tant pis pour moi, si je n'y arrive pas

Giorgios
 

Fo_rum

XLDnaute Accro
Re : Macro à modifier

Salut

et ainsi ,
Code:
Sub tri()

  Sheets("Classement Individuel(Ctrl+A)").Select
  Range("B11:AY79").Sort Key1:=Range("D2"), Order1:=xlDescending, Key2:=Range("E2") _
                       , Order2:=xlAscending, Key3:=Range("F2"), Order3:=xlDescending
  Range("B11:AY79").Sort Key1:=Range("L2"), Order1:=xlDescending, Key2:=Range("M2") _
                       , Order2:=xllDescending
  Range("B11").Select

End Sub
 

giorgios

XLDnaute Occasionnel
Re : Macro à modifier

Salut

et ainsi ,
Code:
Sub tri()

  Sheets("Classement Individuel(Ctrl+A)").Select
  Range("B11:AY79").Sort Key1:=Range("D2"), Order1:=xlDescending, Key2:=Range("E2") _
                       , Order2:=xlAscending, Key3:=Range("F2"), Order3:=xlDescending
  Range("B11:AY79").Sort Key1:=Range("L2"), Order1:=xlDescending, Key2:=Range("M2") _
                       , Order2:=xllDescending
  Range("B11").Select

End Sub

salut et merci beaucoup Forum

j'ai remplacé ma macro par la votre et j'ai un débogage qui s'affiche sur la ligne suivante uniquement et je sais pas pourquoi

Range("B11:AY79").Sort Key1:=Range("L2"), Order1:=xlDescending, Key2:=Range("M2") _
, Order2:=xllDescending

Merci de m'aider à nouveau

Giorgios
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 504
Membres
103 564
dernier inscrit
Paul 1