C'est parfait, merci beaucoup !
Histoire d'avoir un peu participé moi aussi et d'en faire profiter ceux que ça pourrait intéresser, voilà la macro pour faire descendre les lignes sélectionnées, en les gardant sélectionner (si on veut relancer la macro) :
Sub descendre()
' ll nombre de lignes de la sélection
ll = Selection.Rows.Count
'fl première ligne de la sélection
fl = Selection.Cells(1, 1).Row
' couper la ligne suivant la sélection
Rows(fl + ll).Cut
' insérer la ligne avant la sélection et décalant les autres lignes vers le bas
Rows(fl).Insert shift:=xlDown
' repositionner la sélection sur les lignes sélectionnées au départ
Rows(fl + 1 & ":" & fl + ll).Select
End Sub
Dernière précision pour ceux que ça intéresse vraiment : ces 2 macros, associés à des raccourcis clavier, sont super pratiques.
Pour ma part, comme j'utilise tous les raccourcis disponibles dans Excel, j'en ai ajouté avec la méthode Onkey (voir aide VBA).
J'ai placé le code suivant dans mon classeur de macros personnelles, dans ThisWorkbook :
Private Sub Workbook_Open()
Application.OnKey "^%{PGUP}", "PERSO.xls!Monter"
Application.OnKey "^%{PGDN}", "PERSO.xls!Descendre"
End Sub
Une fois Excel redémarré,
la macro qui monte les lignes est lancée par la combinaison : CTRL + ALT + la touche PgUp (page précédente)
la macro qui descend les lignes est lancée par la combinaison : CTRL + ALT + la touche PgDn (page suivante)