Passer au contenu principal

Comment copier et coller des lignes ou des colonnes dans l'ordre inverse dans Excel?

Parfois, vous devrez peut-être copier et coller une liste de colonnes ou de lignes dans l'ordre inverse verticalement ou horizontalement, comme illustré ci-dessous. Comment pourriez-vous gérer ce travail rapidement et facilement dans Excel?

Copiez et collez une liste de colonnes ou de lignes dans l'ordre inverse avec la formule

Copiez et collez une plage de colonnes ou de lignes dans l'ordre inverse avec le code VBA

Copiez et collez une plage de colonnes ou de lignes dans l'ordre inverse avec une fonctionnalité géniale


Copiez et collez une liste de colonnes ou de lignes dans l'ordre inverse avec la formule

Copiez et collez une liste de colonnes dans l'ordre inverse verticalement

Si vous souhaitez inverser une liste de cellules de colonne, vous pouvez appliquer la formule ci-dessous:

Entrez ou copiez la formule suivante dans une cellule vide dans laquelle vous souhaitez inverser l'ordre des colonnes:

=OFFSET($A$15,-(ROW(A1)-1),0)

Notes: Dans la formule ci-dessus, A1 est la première cellule de la colonne, et A15 est la dernière cellule de la colonne.

Ensuite, faites glisser la poignée de remplissage vers les cellules pour extraire les valeurs de cellule dans l'ordre inverse, comme illustré ci-dessous:


Copiez et collez une liste de lignes dans l'ordre inverse horizontalement

Pour copier et coller une liste de lignes dans l'ordre inverse, veuillez utiliser la formule suivante:

Entrez ou copiez cette formule dans une cellule vide:

=OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),)

Notes: Dans la formule ci-dessus, A1 est la première cellule de la ligne, et 1:1 est le numéro de ligne que vos données ont localisé. Si vos données à la ligne 10, vous devez les changer en 10:10.

Et puis, faites glisser la poignée de remplissage vers les cellules que vous souhaitez appliquer cette formule jusqu'à ce que toutes les valeurs soient extraites, et vous obtiendrez toutes les valeurs ont été inversées horizontalement, voir capture d'écran:


Copiez et collez une plage de colonnes ou de lignes dans l'ordre inverse avec le code VBA

Si vous avez besoin de copier et coller une plage de colonnes ou de lignes dans l'ordre inverse, je vais ici présenter quelques codes VBA pour le résoudre rapidement et facilement. Veuillez suivre les étapes suivantes:

Copiez et collez une liste de colonnes dans l'ordre inverse verticalement

1. Tout d'abord, vous devez copier et coller vos données dans un nouvel emplacement, puis maintenir la touche ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: copiez et collez une plage de cellules dans l'ordre inverse verticalement

Sub Flipvertically()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For j = 1 To UBound(Arr, 2)
    k = UBound(Arr, 1)
    For i = 1 To UBound(Arr, 1) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(k, j)
        Arr(k, j) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

3. Puis appuyez F5 pour exécuter ce code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner la plage de données que vous souhaitez inverser verticalement, voir capture d'écran:

4. Et puis, cliquez OK bouton, et la plage de données a été inversée verticalement comme ci-dessous les captures d'écran:


Copiez et collez une plage de cellules dans l'ordre inverse horizontalement

Pour inverser la plage de données dans l'ordre horizontal, veuillez appliquer le code VBA ci-dessous:

Code VBA: copiez et collez une plage de cellules dans l'ordre inverse horizontalement

Sub Fliphorizontally()
'updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
Dim i As Integer, j As Integer, k As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Arr = WorkRng.Formula
For i = 1 To UBound(Arr, 1)
    k = UBound(Arr, 2)
    For j = 1 To UBound(Arr, 2) / 2
        xTemp = Arr(i, j)
        Arr(i, j) = Arr(i, k)
        Arr(i, k) = xTemp
        k = k - 1
    Next
Next
WorkRng.Formula = Arr
End Sub

Après avoir exécuté ce code, vous obtiendrez les captures d'écran suivantes selon vos besoins:


Copiez et collez une plage de colonnes ou de lignes dans l'ordre inverse avec une fonctionnalité géniale

Si vous n'êtes pas familier avec les formules ci-dessus et les codes VBA, ici, je vous recommanderai un outil simple-Kutools for Excel, Avec son Retourner la plage verticale et Retourner la plage horizontale fonctionnalités, vous pouvez inverser la plage de cellules verticalement et horizontalement en un seul clic.

Conseils:Appliquer cette Retourner la plage verticale et Retourner la plage horizontale fonctionnalités, tout d'abord, vous devez télécharger le Kutools for Excel, puis appliquez la fonction rapidement et facilement.

Après l'installation de Kutools for Excel, veuillez faire comme ceci:

Copiez et collez une plage de cellules dans l'ordre inverse horizontalement

1. Sélectionnez la plage de cellules, puis cliquez sur Kutools > Catégorie > Retourner la plage verticale > Tous (inverser uniquement les valeurs), voir capture d'écran:

2. Et puis, la plage de valeurs de cellule a été inversée verticalement à la fois, voir les captures d'écran:


Copiez et collez une plage de cellules dans l'ordre inverse horizontalement

1. Sélectionnez la plage de cellules, puis cliquez sur Kutools > Catégorie > Retourner la plage horizontale > Tous (inverser uniquement les valeurs), voir capture d'écran:

2. Et puis, toutes les valeurs de cellule de la sélection ont été immédiatement inversées horizontalement, voir les captures d'écran:

Cliquez pour télécharger Kutools pour Excel et un essai gratuit maintenant!


Plus d'articles relatifs au copier-coller:

  • Copier et coller des cellules fusionnées dans des cellules uniques dans Excel
  • Normalement, lorsque vous copiez les cellules fusionnées et les collez dans d'autres cellules, les cellules fusionnées sont collées directement. Mais, vous voulez coller ces cellules fusionnées dans des cellules uniques comme illustré ci-dessous, afin de pouvoir traiter les données selon vos besoins. Cet article, je vais parler de la façon de copier et coller des cellules fusionnées dans des cellules uniques.
  • Copier les données de la feuille protégée
  • Supposons que vous receviez un fichier Excel d'une autre personne qui, avec les feuilles de calcul, sont protégées par l'utilisateur, vous souhaitez maintenant copier et coller les données brutes dans un autre nouveau classeur. Mais les données de la feuille protégée ne peuvent pas être sélectionnées et copiées car l'utilisateur décoche les options Sélectionner les cellules verrouillées et Sélectionner les cellules déverrouillées lors de la protection de la feuille de calcul.
  • Copier les données dans une autre feuille de calcul avec un filtre avancé dans Excel
  • Normalement, nous pouvons appliquer rapidement la fonction de filtre avancé pour extraire des données des données brutes dans la même feuille de calcul. Mais, parfois, lorsque vous essayez de copier le résultat filtré dans une autre feuille de calcul, vous obtenez le message d'avertissement suivant. Dans ce cas, comment pourriez-vous gérer cette tâche dans Excel?

  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée
  • Fusionner les cellules / lignes / colonnes et conservation des données; Contenu des cellules divisées; Combiner les lignes en double et la somme / moyenne... Empêcher les cellules en double; Comparer les gammes
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Formules favorites et insérer rapidement, Plages, graphiques et images; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF
  • Regroupement du tableau croisé dynamique par numéro de semaine, jour de la semaine et plus encore ... Afficher les cellules déverrouillées et verrouillées par différentes couleurs; Mettre en évidence les cellules qui ont une formule / un nom
onglet kte 201905
  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Comments (3)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
OFFSET($A$15,-(ROW(A1)-1),0) and OFFSET($A$1,,COUNTA(1:1)-COLUMN(A1),) do not work when the data is not located in the first row or column.
these functions seem to work better:

Mirror row:
suppose the data is located in G11:K11
OFFSET($G$11,,COUNTA(11:11)-COUNTA($G$11:G11),) ........ OFFSET($G$11,,COUNTA(11:11)-COUNTA($G$11:K11),)

Mirror column:
suppose the data is located in E22:E26
OFFSET($E$22,ROW($E$26)-ROW(E22),0) ........ OFFSET($E$22,ROW($E$26)-ROW(E26),0)
Rated 5 out of 5
This comment was minimized by the moderator on the site
Hello Nasrin,

How are you. I tried your formulas and they work perfectly. Thanks for your share. We will take your advice. Have a great day.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Me funcionó la opción del código VBA. Muchas gracias!!!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations