INVERSER L'ORDRE D'UNE COLONE DANS EXCEL

Signaler
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Messages postés
23
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
30 janvier 2011
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/39623-inverser-l-ordre-d-une-colone-dans-excel

Messages postés
23
Date d'inscription
lundi 24 mars 2008
Statut
Membre
Dernière intervention
30 janvier 2011

Mais sous excel, il y a plus simple !

Ajouter une colonne à dte ou à gauche du tableau à inverser.
Dans cette colonne, numéroter de 1 à 0 (en tirant avec Ctrl sur le coin inf droit de la cellule où on a marqué 1.

Sélectionner tout le tableau y compris la colonne de numérotation.

Données .. trier .. donner la lettre de cette colonne comme critère de tri et choisir ordre inverse.

Voilà, ya plus qu'à effacer la colonne de numérotation.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
De rien Butagaz
(j'aime bien ton pseudo) :D

@++
Messages postés
1
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
20 juillet 2007

Bonjour à tous.
J'ai essayé vos trois codes.
Pour ma part les 3 fonctionnent très bien dans ce que je cherchais à faire.
Merci à vous 3.

J'ai gardé le code de mortalino car c'est celui qui met le moins de temps (c'est presque invisible la différence, mais quand même un chouilla).
Merci à lui.

Bonne journée à tous
Messages postés
1
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
25 septembre 2006

Bonjour tout le monde!

Personnellement, je n'est pas testé vos 2 codes mais je vous propose le mien qui permet d'inverser le contenu de toutes les colonnes d'une sélection? Je l'utilise souvent et je voudrais le partager avec vous. Notez que j'ai commenté toutes les lignes pour expliquer leur rôle.

Biensûr vos commentaires et questions sont les bienvenus.

Voici le code :


Option Base 1 ' On précise que les indices des tableaux commencent à partir de 1!
Option Explicit ' Toutes les variables doivent être déclarées avant d'être utilisées!

Sub InverteCellsInColumn()
Application.ScreenUpdating = False ' On désactive l'actualisation de l'affichage pour aller plus vite!

Dim MyData() As Variant ' Tableau pour contenir la sélection
Dim tampon As Variant ' Variable tampon

Dim nbLignes As Long, nbColonnes As Long ' Nombre de lignes et de colonnes dans la sélection

Dim i As Long, j As Long

On Error Resume Next ' Permet d'éviter les boîtes de dialogues de VBA en cas d'erreur

nbLignes = Selection.Rows.Count ' On récupère le nombre de lignes dans la sélection
nbColonnes = Selection.Columns.Count ' On récupère le nombre de colonnes dans la sélection

ReDim MyData(nbLignes, nbColonnes) ' On donne les bonnes dimensions à notre tableau de données

MyData = Selection.Value ' On transfert les données sélectionnées vers le tableau

For i = 1 To Fix(nbLignes / 2) ' On parcourt la moitié superieure de la sélection ligne par ligne
For j = 1 To nbColonnes ' On boucle sur les colonnes
tampon = MyData(i, j) ' On permute
MyData(i, j) = MyData(nbLignes - i + 1, j) ' de part et d'autre
MyData(nbLignes - i + 1, j) = tampon ' du centre (pivot) de la sélection
Next j
Next i

Selection.Value = MyData ' On transfert le contenu du tableau vers la sélection
Application.ScreenUpdating = True ' On remet l'affichage en place!
End Sub
Afficher les 7 commentaires