Macro pour trier des lignes jusqu'à la première ligne vide

Bonjour,

je dois créer une macro permettant de trier (selon ordre alphabétique en colonne A) les lignes qui vont de la ligne 10 jusqu'à la première ligne dont ma colonne A est vide (ligne vide exclue du tri).

Merci d'avance pour vos lumières sachant que je débute en VBA. J'ai essayé d’enregistrer une macro en utilisant la fonction F8+Ctrl+flèche bas mais lorsque je lance le tri, il m'enregistre une zone de tableau fixe et ne prend donc pas en compte la variable vide :

Sub slection_tri()

'

' slection_tri Macro

'

'

Rows("10:10").Select

Range(Selection, Selection.End(xlDown)).Select

ActiveWorkbook.Worksheets("Planning").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Planning").Sort.SortFields.Add Key:=Range("A10"), _

SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("Planning").Sort

.SetRange Range("A10:ALR150")

.Header = xlNo

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

End Sub

Bonjour

essaie ceci

Sub slection_tri()
'
' slection_tri Macro
'

'
dl = ActiveWorkbook.Worksheets("Planning").Cells(Rows.Count, 1).End(xlUp).Row
 ActiveWorkbook.Worksheets("Planning").Sort.SortFields.Clear
 ActiveWorkbook.Worksheets("Planning").Sort.SortFields.Add Key:=Range("A10"), _
 SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
 With ActiveWorkbook.Worksheets("Planning").Sort
 .SetRange Range("A10:ALR" & dl)
 .Header = xlNo
 .MatchCase = False
 .Orientation = xlTopToBottom
 .SortMethod = xlPinYin
 .Apply
 End With
End Sub

Merci pour ton aide.

Par contre cela ne fonctionne pas car je peux avoir de nouvelles lignes avec contenu après la ligne vide. Avec le code que tu me proposes, il me prend forcément les lignes qui se trouvent sous ma ligne vide et les intègrent dans mon tri alors que je ne souhaite pas que cela soit le cas. Il faut que la sélection s’arrête dès qu'une ligne vide apparaît.

re-bonjour,

dans ce cas, essaie ceci

Sub slection_tri()
'
' slection_tri Macro
'

'
dl = ActiveWorkbook.Worksheets("Planning").Range("A10").End(xlDown).Row
 ActiveWorkbook.Worksheets("Planning").Sort.SortFields.Clear
 ActiveWorkbook.Worksheets("Planning").Sort.SortFields.Add Key:=Range("A10"), _
 SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
 With ActiveWorkbook.Worksheets("Planning").Sort
 .SetRange Range("A10:ALR" & dl)
 .Header = xlNo
 .MatchCase = False
 .Orientation = xlTopToBottom
 .SortMethod = xlPinYin
 .Apply
 End With
End Sub

Super !!!

Merci pour ton aide

Rechercher des sujets similaires à "macro trier lignes premiere ligne vide"