2011-10-04 09:18:12 +0000 2011-10-04 09:18:12 +0000
6
6

Comment déplacer la sélection d'une ligne vers le bas dans Excel 2007 ?

Y a-t-il un moyen de déplacer une gamme sélectionnée vers la ligne suivante ?

Disons que j'ai sélectionné “E9:H9” et que je veux que la sélection se déplace vers “E10:H10”. Y a-t-il un raccourci pour cela ? La sélection ne doit pas être étendue mais déplacée d'une ligne vers le bas.

Réponses (4)

12
12
12
2011-10-04 13:29:40 +0000

On dirait que vous avez juste besoin de quelque chose comme ça :

Sub moveselection()

Selection.Offset(1, 0).Select

End Sub

Cela déplacera votre sélection une ligne plus bas sans changer la taille de la sélection.

3
3
3
2011-10-05 05:56:01 +0000

(a) Ce code ne se déplace pas d'une ligne vers le bas comme à la question

(b) Il ne fonctionne que sur la première ligne d'une sélection, vouliez-vous qu'il fonctionne sur une sélection à plusieurs lignes ?

© Plutôt que d'appeler un sous-code pour cela, vous pourriez l'exécuter automatiquement en cliquant avec le bouton droit de votre souris - vous pouvez le faire en ajoutant un clic droit sur l'onglet de votre feuille, View Code, et en collant le code ci-dessous

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    Range("E" & CStr(Selection.Row) & ":" & "GN" & CStr(Selection.Row)).Select
End Sub
1
1
1
2016-06-19 06:32:34 +0000

Une alternative qui utilise des arguments nommés, et qui est donc beaucoup plus claire, est quelque chose comme cela.

ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate

Une ligne positiveDécalage déplace la sélection vers le bas de la feuille, une ligne négativeDécalage déplace vers le haut le nombre de lignes spécifié, et un décalage de zéro laisse la ligne dans laquelle réside la sélection inchangée.

De même, les décalages positifs déplacent la sélection vers la droite, tandis que les décalages négatifs la déplacent vers la gauche. Le zéro, bien sûr, laisse la colonne inchangée.

Voir Range.Offset Property (Excel)

Deux découvertes connexes peuvent aussi bien intéresser les futurs visiteurs.

  1. Faites ce qui suit pour insérer une colonne. Selection.EntireColumn.Insert et attention à l'erreur Range.Insert, qui augmente l'erreur d'exécution 1004, au moins dans certaines circonstances, comme les feuilles de calcul protégées (même si l'insertion de colonne est autorisée lorsqu'elle est protégée).
  2. La méthode que je viens de décrire laisse le point d'insertion dans la nouvelle colonne, ce que je n'avais pas remarqué jusqu'à ce que je vienne ici à la recherche d'une méthode pour déplacer la sélection (seulement pour découvrir que je n'en avais pas besoin !).
0
0
0
2011-10-04 10:12:29 +0000

Ok,

Le curseur doit être dans la ligne et les plages “E” et “GN” doivent être ajustées pour les différentes colonnes mais cela me fait gagner du temps :

Sub SelectRange()

  Dim RowNumber As Integer

  RowNumber = Selection.Row
  Range("E" & CStr(RowNumber) & ":" & "GN" & CStr(RowNumber)).Select

End Sub
```.