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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
Bonsoir,
Tout fonctionne très bien
Merci beaucoup
Didier
<perso@patrickjacquart.fr> a écrit dans le message de news:
f3d9ef6b-e8b9-450f-86f9-5d1d6e9b6998@e23g2000prf.googlegroups.com...
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
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