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

Pb de tri ascendant sans les vides

2 réponses
Avatar
Didier NOVARIN
Bonsoir,
Je souhaite trier une colonne exemple A2:A50, celle-ci est remplie de A2:A25
le pb est qu'avec VBA, les "vides" se retrouvent devant et avec le tri
descendant, les noms se trouvent inversés.
Comment faire afin d'avoir les noms par ordre alpha en ne tenant pas compte
des "vides"
Merci beaucoup
Didier

2 réponses

Avatar
perso
bsr Didier,

Dans l'exemple, on considère que la feuille est Feuil1 et que en
cellule A1 il y a un entête de colonne...

Testé sur 2007 (pas 2003), merci de me confirmer que c'est OK sur
2003 ?

Sub PourDidier()

ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add
Key:=Range("A2:A50") _
, SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A2:A50")
.Header = xlYes ' avec entête
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin 'nouvelle fonction 2007 ou pas ?
.Apply
End With
End Sub

Bonne soirée,

Pat REDNEF
Avatar
Didier NOVARIN
Bonsoir,
Tout fonctionne très bien
Merci beaucoup
Didier

a écrit dans le message de news:

bsr Didier,

Dans l'exemple, on considère que la feuille est Feuil1 et que en
cellule A1 il y a un entête de colonne...

Testé sur 2007 (pas 2003), merci de me confirmer que c'est OK sur
2003 ?

Sub PourDidier()

ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add
Key:=Range("A2:A50") _
, SortOn:=xlSortOnValues, Order:=xlAscending,
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A2:A50")
.Header = xlYes ' avec entête
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin 'nouvelle fonction 2007 ou pas ?
.Apply
End With
End Sub

Bonne soirée,

Pat REDNEF