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

XL 2021 Trier sans tenir compte des cellule vides mais avec formule

GregN

XLDnaute Nouveau
Bonjour à tous,
J'aurais besoin de votre aide svp car je n'arrive pas à trouver comment faire pour trier la colonne H par ordre décroissant sans tenir compte des cellules vides mais dans lesquelles il y a une formule.
Je mets le fichier en PJ.
Merci énormément pour votre aide
 

Pièces jointes

  • AVV_Macro.xlsm
    93.5 KB · Affichages: 5
Solution
Essayez avec :
VB:
Sub TempsRestant_Croissant_Essai()
    Range("B13:I101").Sort Key1:=[H13], Order1:=xlAscending, Header:=xlYes
    DL = [B65500].End(xlUp).Row
    Range("B13:I" & DL).Sort Key1:=[H13], Order1:=xlAscending, Header:=xlYes
End Sub
Sub TempsRestant_Décroissant_Essai()
    Range("B13:I101").Sort Key1:=[H13], Order1:=xlAscending, Header:=xlYes
    DL = [B65500].End(xlUp).Row
    Range("B13:I" & DL).Sort Key1:=[H13], Order1:=xlDescending, Header:=xlYes
End Sub
J'obtiens :

et

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Greg, et bienvenu sur XLD,
Peut être en trichant :
1- Tri sur toute la colonne pour remonter les valeurs en haut
2- Calcul du nombre de cellules occupées
3- Sur celle plage tri ascendant ou descendant.
Avec par ex pour la colonne Clients :
VB:
Sub Client_Croissant_Essai()
    Range("B13:I101").Sort Key1:=[B13], Order1:=xlDescending, Header:=xlYes
    DL = [B65500].End(xlUp).Row
    Range("B13:I" & DL).Sort Key1:=[B13], Order1:=xlAscending, Header:=xlYes
End Sub
Sub Client_Décroissant_Essai()
    Range("B13:I101").Sort Key1:=[B13], Order1:=xlDescending, Header:=xlYes
    DL = [B65500].End(xlUp).Row
    Range("B13:I" & DL).Sort Key1:=[B13], Order1:=xlDescending, Header:=xlYes
End Sub
 

Pièces jointes

  • AVV_Macro.xlsm
    93.9 KB · Affichages: 11

sylvanu

XLDnaute Barbatruc
Supporter XLD
Essayez avec :
VB:
Sub TempsRestant_Croissant_Essai()
    Range("B13:I101").Sort Key1:=[H13], Order1:=xlAscending, Header:=xlYes
    DL = [B65500].End(xlUp).Row
    Range("B13:I" & DL).Sort Key1:=[H13], Order1:=xlAscending, Header:=xlYes
End Sub
Sub TempsRestant_Décroissant_Essai()
    Range("B13:I101").Sort Key1:=[H13], Order1:=xlAscending, Header:=xlYes
    DL = [B65500].End(xlUp).Row
    Range("B13:I" & DL).Sort Key1:=[H13], Order1:=xlDescending, Header:=xlYes
End Sub
J'obtiens :

et
 

Discussions similaires

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