Comment réorganiser facilement des lignes dans Excel avec un glisser-déposer, une montée ou une descente?

143

Je dois effectuer des réordonnances manuelles ou des lignes dans Excel et couper / coller est trop difficile à utiliser. Je cherche quelque chose qui me permette d’utiliser drag'n'drop ou d’ajouter des boutons pour monter / descendre et aller en haut / en bas.

sorin
la source

Réponses:

212
  1. Sélectionnez la ligne / colonne.
  2. Déplacez le curseur de votre souris sur la limite de la ligne / colonne de manière à afficher le curseur à quatre flèches (ou le curseur de la main sur un Mac).
  3. Appuyez Shiftsur votre clavier, puis cliquez et faites glisser la ligne / colonne.

La Shiftclé décale la ligne / colonne au lieu de remplacer la ligne / colonne cible.

kok
la source
18
Sur mac, pour la deuxième étape, vous voulez déplacer le curseur de votre souris de manière à voir l’icône de la main, et non le curseur à quatre flèches.
Scott Ritchie
2
J'ai Excel 2013 et il semble que le comportement par défaut lorsque vous déplacez une ligne après avoir constaté que le curseur avec une flèche à quatre directions change de comportement. Appuyez sur SHIFT pour remplacer la ligne de destination
Korayem
J'ai Office365 (je pense donc avoir la dernière version d'Excel au moment de sa publication - je ne peux trouver aucun numéro de version approprié, où que ce soit). La sélection de TOUT groupe de cellules (pas seulement les lignes / colonnes), le déplacement vers la bordure pour obtenir une flèche à 4 directions, et le déplacement par déplacement déplacent les données, laissant un trou vide derrière. Le laisser tomber avertit en écrasant. Maj + glisser tente de réorganiser les lignes ou les colonnes, mais uniquement si toutes les lignes / colonnes sont sélectionnées. "Complet" = toute une surface rectangulaire - pas nécessairement une feuille de calcul complète. // Confusion: doit survoler la limite des cellules de données, pas le numéro de ligne ni la lettre de colonne - qui est redimensionnée.
Krazy Glew
1
Est-ce que quelqu'un connaît un raccourci pour obtenir cette "flèche à 4 directions" - raccourci clavier, ou une macro / Visual Basic (ou quel que soit le nom du nouveau langage de macro)? Je trouve très difficile de faire cela précisément avec une souris, encore moins sur un écran tactile ou avec un stylo. Idéalement, j'aimerais avoir un "pouce" pour faire glisser des lignes et des colonnes comme ceci.
Krazy Glew
1
Est-ce que quelqu'un sait comment faire cette Google Sheets?
Krazy Glew
13

C’est toujours une méthode couper / coller, mais c’est le moyen le plus simple auquel je puisse penser.

Solution en 4 clics: (par exemple, déplacez la ligne 8 au-dessus de la ligne 5)

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

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

Wilson
la source
Ceci est une solution de souris uniquement sans glisser-déposer, de sorte qu'il est bon pour déplacer des lignes vers une position ultérieure nécessitant un défilement. Sinon, la réponse de @ kok est plus élégante.
Wilson
merci, cela a toujours fonctionné pour moi, kok's est meilleur, mais un peu plus long à comprendre et il faut voir le bouton de limite, bien que ce ne soit pas plus difficile, il faut s'y habituer
FantomX1
3

Essayer:

Shift+ Space barou clic de souris sur le numéro de ligne pour sélectionner la ligne

Ctrl+ Xcouper

Clic de souris où vous le voulez.

Ctrl+ Vle coller

Graham
la source
2
réponse incorrecte. cela remplacera au lieu de réorganiser
Wilson
3

Ajoutez les macros suivantes à votre classeur de macros personnelles et affectez-leur des touches de raccourci. Ce comportement imite les lignes Swap Line Up & Swap Line Down de Sublime Text.

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
tjmcewan
la source
2

Dans le passé, dans le cas de cas similaires, où je ne pouvais pas simplement trier par rangée, j’avais trouvé le moyen de générer une colonne avec un résultat de formule que je pouvais trier.

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

Microsoft Word a une fonctionnalité qui manque à Excel. La méthode de Jon consiste à déplacer les données dans Word, à l'aide de la commande Word, puis à les coller à nouveau dans Excel. Suivez ces étapes.

  1. Copiez le bloc de lignes et de colonnes correspondant dans votre feuille de calcul. Il est préférable de noter la taille de la plage, par exemple, 118 lignes x 5 colonnes
  2. Collez les données dans un document Microsoft Word, où il devient automatiquement un tableau et conserve toute votre mise en forme.
  3. Dans Word, utilisez les commandes SHIFT-ALT-UP-ARROW et SHIFT-ALT-DOWN-ARROW, peu connues, pour faire glisser très rapidement les lignes (ou des morceaux de lignes sélectionnés) vers le haut ou le bas. Sélectionnez une ou plusieurs lignes. Vous pouvez sélectionner la ligne entière ou seulement une partie de la ligne, comme indiqué ici.

    entrez la description de l'image ici

    Appuyez sur Shift + Alt + UpArrow plusieurs fois pour faire glisser rapidement les lignes dans leur position.

    entrez la description de l'image ici

  4. Lorsque vous avez séquencé les lignes à votre guise, collez-les dans Excel, en vous assurant de remplacer le bloc de taille exacte que vous avez copié.

jzd
la source
Sucré! J'aimerais qu'il y ait un moyen de faire cela dans Excel ou OneNote. // (Excel fait glisser la souris, comme indiqué ci-dessus, mais il me manque la coordination de la souris.) // Il est regrettable que l'on abandonne d'autres avantages d'Excel, tels que le tri de table par valeurs de colonne, pour obtenir ce mot
Krazy Glew
2

Sous Mac, utilisez Command+ Shiften faisant glisser. Je suppose que dans Windows cela devrait être Win+ Shift.

Pablol
la source
1

Une légère amélioration sur la réponse de @ wilson:

Cliquez avec le bouton droit sur le numéro de ligne (par exemple la ligne 8), tapez "t" Cliquez avec le bouton droit de la souris sur le numéro (tels que la ligne 5), appuyez sur "e"

Mélanger l'utilisation de la souris et du clavier accélère vraiment pour moi.

Codemonkey
la source
1

Voici un sous qui fonctionne également pour les colonnes; il combine la fonctionnalité 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
Micromégas
la source
-1

C'est le plus facile que j'ai trouvé. Ne peut pas vraiment glisser et déposer:

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

  • faites un clic droit sur la rangée 3 (sur le chiffre 3 à gauche) et sélectionnez Couper
  • faites un clic droit sur la rangée 2 (sur le nombre 2) et sélectionnez Insérer des cellules coupées
mrudult
la source