Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Inverser le contenu d'une colonne par macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonsoir,

Je voudrais, au moyen d'une macro, inverser le contenu d'une colonne, ex. dans une colonne dont la 1ère cellule serait A1 :
1
2
3
4
5

donerait dans une 2ème colonne dont la 1ère cellule serait B1 :
5
4
3
2
1

Merci d'avance pour toute suggestion.
 
Re : Inverser le contenu d'une colonne par macro

bonjour Magic Doctor

en vba, peut être comme ceci :

Code:
Option Explicit
Sub test()
Dim t() As Variant, i As Integer, j As Integer
t = Range("a1:a" & Range("a65536").End(xlUp).Row)
j = 1
For i = UBound(t) To LBound(t) Step -1
    Cells(j, 2).Value = t(i, 1)
    j = j + 1
Next i
End Sub

bonne fin d'après midi
@+
 
Re : Inverser le contenu d'une colonne par macro

Merci Pierrot pour ta prompte solution.
Elle fonctionne, mais pas dans ma feuille, et voici les raisons :

Pour simplifier, dans mon exemple, j'avais choisi comme 1ère cellule de la colonne A1.
En fait cette cellule se trouve en BJ7.
D'autre part, j'ai pris pour habitude de systématiquement nommer toutes les cellules qui figurent dans les macros, et ceci pour une raison très simple : si, d'aventure, je décide de rajouter ou supprimer des lignes et/ou colonnes dans ma feuille, je n'ai pas à rectifier en conséquence toutes les macros (travail de dingue !), car A1 peut devenir B57, mais si j'ai nommé au départ A1 "cornichon", quoi qu'il arrive "cornichon" sera toujours "cornichon" !
Supposons que la 1ère cellule de la colonne se nomme "zaza", comment alors modifier ta macro ?

Merci de toutes façon pour ton aide qui, quoi qu'il en soit, m'a fait avancer un peu.
 
Re : Inverser le contenu d'une colonne par macro

re

modifies comme suit :

Code:
Dim t() As Variant, i As Integer, j As Integer
t = Range(Range("zaza").Address, Range("zozo").Address)

zozo = dernière cellule de la colonne....
 
Re : Inverser le contenu d'une colonne par macro

Re, bonjour Stephane

en voyant le fichier :

Code:
Dim t() As Variant, i As Integer, j As Integer
t = Range(Range("AdressePlage").Value)

genre de chose très dur à deviner sans voir le fichier, le mieux aurait été de préciser tout ca sur le 1er post...

bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
159
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…