Inverser tableau

Bonjour,

Je voudrais copier en VBA ce tableau, de bas en haut mais sans changer la disposition des lignes, c’est-à-dire que la dernière ligne devient la première

et dans le même ordre mais inverser

Merci de votre réponse

Cordialement.

Bonjour,

tu ajoutes une colonne avec une numérotation de 1 à n (n étant la dernière ligne de ton tableau).

puis tu tries le tableau en ordre décroissant en prenant cette nouvelle colonne comme argument de tri.

Bonjour,

voilà une proposition concernant la demande. Pour une solution manuelle la solution de h2so4 est tout à fait valable également.

merci Ausecour

ça fonctionne parfaitement

par contre comme c'était un tableau pour mes essais, et si j'efface tout pour mes annotations

ça ne fonctionne plus

Ausecour,

je viens de m'apercevoir qu'il fallait que je change le (f) en (g) car en (f )il y a des cases ou il y a rien

par contre en g toutes les cases sont prisent et la ça fonctionne bien

il faut que j'adapte ça dans mon dossier

mains comment répertorier ce tableau

Ausecour!

j'ai mit le tableau plus loin dans le classeur à droite ce qui correspond à mon emplacement

la macro doit être différente

8essai-2.xlsm (127.89 Ko)

re-Bonjour,

automatisation de la procédure manuelle proposée

Sub aargh()
    Set origine = Range("AB5").CurrentRegion '<----------------- à adapter  tableau à copier
    Set Destination = Range("AB5")                    ' <---------------- à adapter cellule de destination

    'copier les données
    origine.Copy Destination

    'colonne supplémentaire pour le tri
    Set cletri = Columns(Destination.Cells(1, 1).Column)
    cletri.Insert 'insérer une colonne pour le tri
    Set cletri = cletri.Range("A1").Offset(Destination.Row - 1, -1)
    'numérotation des lignes de 1 à n
    cletri.Cells(2, 1) = 1
    cletri.Cells(3, 1) = 2
    cletri.Range("A2:A3").AutoFill Destination:=cletri.Range("A2:A" & origine.Rows.Count)

    ' tri en ordre de décroissant sur le numéro de ligne
    Set Destination = cletri.Cells(1, 1).CurrentRegion
    Destination.Sort key1:=Destination.Range("A1"), order1:=xlDescending, Header:=xlYes

    'suppression de la clé de tri
    cletri.EntireColumn.Delete shift:=xlToLeft
End Sub

merci mais ça fonctionne pas dans le même tableau (ab )si je fait plusieurs fois ça augmente des lignes

Bonjour,

peux-tu reessayer ? je n'avais pas compris que tu voulais copier/inverser au même endroit. (macro ci-dessus adaptée)

Bonjour,

pour la macro que j'ai fait, si le tableau n'est plus au même endroit il suffit de changer les nombres pour les variables ligDep, colDep, colFin

Ausecours,

merci beaucoup c'est ce que je voulais j'ai mit dans mon classeur final ça fonctionne bien

ce qui ma perdu aussi c'est que mes colonnes son numéroté de A à Z et non en chiffre j'aime mieux ainsi

la personne au dessus qui ma envoyé des codes merci aussi mais ça fonctionne pas en tableau

ça me rajoute des lignes et des espaces vide quand je fait plusieurs fois

la méthode de ( Ausecour ) me convient bien

bonne journée à tous

On pourrait aussi faire ça avec les lettres, c'est juste que j'ai pour habitude de tout stocker sous forme de nombre pour faire des boucles derrière

Rechercher des sujets similaires à "inverser tableau"