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

Sort d'une range par colonne

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

teodormircea

XLDnaute Occasionnel
Bonjour,
Je suis en train de faire une macros qui reproduit le sort de excel
j'ai la partie qui détecte le range, et les combo pour sélecter les colonnes.
Pour le sort je sais comment le faire, mais je sais pas lier les macros entre elles.

voila pour le combobox-colonnes
Code:
Private Sub CBO_Fill()
    Dim oRng As Range
     'Remplit la Combo
    With ActiveSheet
        Set oRng = Range(.Cells(1, 1), .Cells(1, Columns.Count).End(xlToLeft))
        ComboBox1.List = Application.Transpose(oRng)
        ComboBox2.List = Application.Transpose(oRng)
        ComboBox3.List = Application.Transpose(oRng)
    End With
    ComboBox1.ListIndex = 0
    ComboBox2.ListIndex = 0
    ComboBox3.ListIndex = 0
End Sub

Pour trouver la zone active

Code:
Public Function RealUsedRange() As Range
     
    Dim FirstRow        As Long
    Dim LastRow         As Long
    Dim FirstColumn     As Integer
    Dim LastColumn      As Integer
     
    On Error Resume Next
     
    FirstRow = Cells.Find(What:="*", After:=Range("IV65536"), LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext).Row
    
    FirstColumn = Cells.Find(What:="*", After:=Range("IV65536"), LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Column
     
    LastRow = Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row - 1
     
    LastColumn = Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, LookAt:= _
    xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
     
    Set RealUsedRange = Range(Cells(FirstRow, FirstColumn), Cells(LastRow, LastColumn))
     
    On Error GoTo 0
     
End Function

et le code qui reunit les 2

Code:
Sub Range_SORT()
     
    Dim Rng1            As Range
   
    Set Rng1 = RealUsedRange
   If Rng1 Is Nothing Then
      MsgBox "There is no used range, the worksheet is empty."
  Else
       CBO_Fill
       Rng1.Select
       
     End If
End Sub

Il me manque le code pour faire un sort Ascendant sur la zone avec les colonnes selectes avec les combo.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
589
Réponses
3
Affichages
639
Réponses
12
Affichages
1 K
J
Réponses
2
Affichages
743
jui42
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…