2011-02-24 11:24:43 +0000 2011-02-24 11:24:43 +0000
148
148

Comment réorganiser facilement des lignes dans Excel par glisser-déposer ou déplacer vers le haut ou vers le bas ?

Je dois réorganiser manuellement des lignes dans Excel et le copier-coller est trop difficile à utiliser. Je cherche quelque chose qui me permette d'utiliser le glisser-déposer ou d'ajouter des boutons pour déplacer vers le haut ou vers le bas, vers le haut ou vers le bas.

Réponses (10)

216
216
216
2011-07-24 19:59:02 +0000
  1. Sélectionnez la ligne/colonne.
  2. Déplacez le curseur de votre souris à la limite de la ligne/colonne de manière à voir le curseur à quatre flèches (ou le curseur manuel sur un Mac).
  3. Appuyez sur la touche Shift de votre clavier, puis cliquez et faites glisser la ligne/colonne.

La touche Shift modifie la ligne/colonne au lieu d'écraser la ligne/colonne cible.

14
14
14
2011-02-28 07:38:02 +0000

C'est toujours une méthode de copier/coller, mais c'est la façon la plus simple à laquelle je puisse penser.

solution 4-clics: (par exemple, déplacer la ligne 8 au-dessus de la ligne 5)

  1. Clic droit sur le numéro de la ligne (par exemple la ligne 8), clic sur Couper (ou T)
  2. Cliquez avec le bouton droit de la souris sur le numéro de la ligne (par exemple, la ligne 5), cliquez sur Insérer les cellules coupées (ou E)

Remarque : Cela fonctionne également pour déplacer plusieurs lignes.

3
3
3
2014-01-23 11:04:06 +0000

Ajoutez les macros suivantes à votre classeur de macros personnelles et attribuez leur des touches de raccourci. Le comportement imite celui de Sublime Text, Swap Line Up & Swap Line Down.

Sub move_rows_down()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(rOriginalSelection.rows.Count + 1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub

Sub move_rows_up()
    Dim rOriginalSelection As Range
    Set rOriginalSelection = Selection.EntireRow
    With rOriginalSelection
        .Select
        .Cut
        .Offset(-1, 0).Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub
2
2
2
2011-02-24 11:44:22 +0000

En traitant des cas similaires dans le passé, où je ne pouvais pas simplement trier par ligne, j'ai trouvé un moyen de générer une colonne avec un résultat de formule sur lequel je pouvais trier.

J'ai trouvé une réponse plus directe à votre question dans ce site :

Microsoft Word possède une fonctionnalité qui fait défaut à Excel. La méthode de Jon consiste à déplacer les données vers Word, à utiliser la commande Word puis à recoller les données dans Excel. Suivez les étapes suivantes.

  1. Copiez les lignes et les colonnes correspondantes de votre feuille de calcul. Il est préférable de noter la taille de l'intervalle, par exemple 118 lignes x 5 colonnes
  2. Collez les données dans un document Microsoft Word, où elles deviennent automatiquement un tableau et conservent tout votre formatage.
  3. Dans Word, utilisez les fonctions peu connues SHIFT-ALT-UP-ARROW et SHIFT-ALT-DOWN-ARROW pour faire glisser très rapidement les lignes (ou des morceaux de lignes sélectionnés) vers le haut et le bas à volonté. Sélectionnez une ou plusieurs rangées. Vous pouvez sélectionner la ligne entière ou seulement une partie de la ligne comme indiqué ici.

  4. Lorsque vous avez séquencé les lignes comme vous le souhaitez, collez-les à nouveau dans Excel, en vous assurant que vous écrasez exactement le morceau de même taille que vous avez copié.

2
2
2
2012-07-12 13:12:26 +0000

Sous Mac, utilisez Commande + Shift pendant le glissement. Je suppose que dans les fenêtres, ce devrait être Gain + Maj.

1
1
1
2015-02-21 15:54:17 +0000

Essayez :

Shift + barre d'espacement ou cliquez avec la souris sur le numéro de ligne pour sélectionner la ligne

Ctrl + X pour couper

Cliquez avec la souris à l'endroit voulu.

Ctrl + V pour le coller

1
1
1
2019-11-18 10:10:12 +0000

Pour les snobs comme moi qui veulent utiliser uniquement le clavier :

  1. Sélectionnez les cellules que vous voulez déplacer (il n'est pas nécessaire que la ligne soit complète pour cela)
  2. Déplacez-vous dans la cellule immédiatement en dessous de celle où vous voulez déplacer le contenu vers
  3. Appuyez sur ctrl-+
1
1
1
2014-06-25 15:11:49 +0000

Une légère amélioration par rapport à la réponse de @wilson :

Numéro de la rangée du clic droit (ex. rangée 8), touche “t” Numéro de la rangée du clic droit (ex. rangée 5), touche “e”

Le mélange de l'utilisation de la souris et du clavier accélère vraiment les choses pour moi.

1
1
1
2015-05-08 17:03:37 +0000

Voici un sous-ensemble qui fonctionne également pour les colonnes ; il combine les fonctionnalités pour les quatre directions :

Sub MoveRowsOrColumns(direction As String)
    Dim rOriginalSelection As Range

    Select Case direction
    Case "up", "down"
        Set rOriginalSelection = Selection.EntireRow
    Case "left", "right"
        Set rOriginalSelection = Selection.EntireColumn
    Case Else
        Debug.Assert False
    End Select

    With rOriginalSelection
        .Select
        .Cut
        Select Case direction
        Case "up"
            .Offset(-1, 0).Select
        Case "down"
            .Offset(rOriginalSelection.Rows.Count + 1, 0).Select
        Case "left"
            .Offset(0, -1).Select
        Case "right"
            .Offset(0, rOriginalSelection.Columns.Count + 1).Select
        End Select
    End With
    Selection.Insert
    rOriginalSelection.Select
End Sub
-1
-1
-1
2013-08-31 10:37:42 +0000

C'est le plus facile que j'ai trouvé. Pas vraiment de glisser-déposer:

Par exemple pour déplacer la ligne 3 avant la ligne 2 :

  • clic droit sur la ligne 3 (sur le numéro 3 à gauche) et sélectionner Couper
  • clic droit sur la ligne 2 (sur le numéro 2) et sélectionner Insérer les cellules coupées