Mettre une liste à l'envers dans Excel 2010

Résolu/Fermé
El-sol - Modifié par El-sol le 31/05/2012 à 15:28
 El-sol - 1 juin 2012 à 14:32
Bonjour,

J'ai une liste de données qui sont dans un ordre quelconque mais je veux que ça soit présenté à l'envers, c'est-à-dire que le dernier inscrit devienne le premier et ainsi de suite.
La façon facile aurait été de nommer les lignes de 1 à 100 par exemple, et de trier par cette colonne en ordre décroissant puis d'effacer cette ligne. Mais je ne peux pas car cette fonction doit être mise dans une macro et le nombre de ligne va varier d'une fois à l'autre.

Existe-t-il une fonction où je pourrais par exemple, sélectionner plus de ligne que pas assez pour ma macro, dire à Excel de mettre le tout à l'envers. Ce n'est pas un tri.
La raison principale est que la dernière ligne contient un solde cumulatif et je ne peux pas aller chercher ce solde dans une macro puisqu'il sera à une ligne différente à chaque fois.
En présentant le tout à l'envers, le solde sera automatiquement au début et sera alors toujours dans la même cellule.

Le document de base est un export d'un état de compte bancaire. La banque Nationale offre la possibilité d'exporter dans l'ordre décroissant mais pas les autres institutions.

merci.


A voir également:

3 réponses

eriiic Messages postés 24560 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 février 2024 7 206
1 juin 2012 à 00:12
Bonsoir,

Ou sinon tu ne mets que le solde en 1ère ligne, c'est ce qu'on fait d'habitude.

eric
1
Le Pingou Messages postés 12029 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 19 février 2024 1 424
Modifié par Le Pingou le 31/05/2012 à 23:44
Bonjour,
Vous avez un exemple qui trie sur 3 colonnes et met en place selon 2 ordres de tri.
Exemple : https://www.cjoint.com/?3EFxRDAPAaP
En regardant le fonctionnement du code vous avez tous ce qu'il faut pour cette nouvelle demande :
'définir la plage à traiter colonnes A1 à E.... 
    Set Plage = .Range(.Cells(1, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 5)) 
'  a = Plage.Columns.Count 
    With Plage ' trier colonnes A,B et C selon ordre 
        .Sort .Columns(trico1), xlAscending, Header:=xlYes 
        .Sort .Columns(trico2), xlAscending, Header:=xlYes 
        .Sort .Columns(trico3), xlAscending, Header:=xlYes 


Salutations.
Le Pingou
0
oubliez ça tout le monde, j'ai trouvé une autre option qui fonctionne à merveille.
c'est d'aller chercher le dernier montant de la colonne et de me le ramener en haut. Et ce montant ne sera jamais à la même ligne d'une fois à l'autre.
alors je n'ai plus besoin de renverser l'ordre de mes données.

voir ma question intitulée: formule miracle dans une macro svp.


merci.
0