Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

vba tri inversé

2 réponses
Avatar
j-pascal
Bonjour,

Dans ce qui suit, je suis "obligé" de passer par un tri décroissant
puis croissant afin d'éviter que les cellules vides ne se retrouvent en
haut de ma liste. Ca fonctionne, mais c'est "un peu" lourd !!

'---
If [j2] <> "Trié" Then 'col C = origine
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2],
Order1:=xlAscending
End If

If [c2] = 0 Then
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2],
Order1:=xlDescending
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2],
Order1:=xlAscending
[c2].End(xlDown).Offset(1, 0).Select
End If
'---


Merci pour vos lumières,

JP

2 réponses

Avatar
Daniel.C
Si les cellules sont vides, la ligne :
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2], Order1:=xlAscending
suffit.
Daniel


Bonjour,

Dans ce qui suit, je suis "obligé" de passer par un tri décroissant puis
croissant afin d'éviter que les cellules vides ne se retrouvent en haut de ma
liste. Ca fonctionne, mais c'est "un peu" lourd !!

'---
If [j2] <> "Trié" Then 'col C = origine
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2], Order1:=xlAscending
End If

If [c2] = 0 Then
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2], Order1:=xlDescending
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2], Order1:=xlAscending
[c2].End(xlDown).Offset(1, 0).Select
End If
'---


Merci pour vos lumières,

JP


Avatar
j-pascal
Bonjour Daniel,

Ben oui, apparemment ça fonctionne ! Pourtant à un moment je me suis
retrouvé avec toutes les lignes vides en début de liste, puis les
valeurs en ordre alphabétique ; Merci !

JP

Si les cellules sont vides, la ligne :
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2], Order1:=xlAscending
suffit.
Daniel


Bonjour,

Dans ce qui suit, je suis "obligé" de passer par un tri décroissant puis
croissant afin d'éviter que les cellules vides ne se retrouvent en haut de
ma liste. Ca fonctionne, mais c'est "un peu" lourd !!

'---
If [j2] <> "Trié" Then 'col C = origine
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2],
Order1:=xlAscending
End If

If [c2] = 0 Then
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2],
Order1:=xlDescending
Range([c2], [c65536].End(xlUp)).Sort Key1:=[c2],
Order1:=xlAscending
[c2].End(xlDown).Offset(1, 0).Select
End If
'---


Merci pour vos lumières,

JP