Tri vertical... Par ligne !

Sebangu

XLDnaute Nouveau
Bonjour à toutes et à tous !

C'est mon premier message sur ce Forum ! :) Je ne débute pas sous Excel mais mon niveau est plus ou moins faible étant donné que je n'en ai jamais eu une utilité vitale. Cependant, même si je me suis toujours débrouillé pour le peu que j'avais à faire, j'avoue que je me casse actuellement les dents sur un problème qui semble simple (et qui doit l'être) mais auquel je ne trouve aucune solution.

Comme le montre l'image ci-dessous, je dispose d'un tableau contenant diverses informations. Le contenu de la cellule B4 et en rapport avec celui des cellules A4 et C4. Il en est de même pour les autres lignes.

exemple.png

J'ai créé un bouton contenant une Macro qui organise par ordre alphabétique les cellules de la colonne B à partir de B4. Or, est c'est bien là mon souci, j'aurais souhaité que les contenus des autres cellules "suivent" la réorganisation. Mais bien évidemment, on peut voir ci-dessous que ce n'est pas le cas.

exemple2.png

Il faudrait donc "lier par ligne" les cellules lors du tri vertical de la colonne B afin d'obtenir ce que montre l'image suivante et qui représente ce que je souhaiterais obtenir...

exemple3.png

L'aide d'Excel ne m'a pas permis d'avancer, tout comme mes recherches sur le Net et la consultation de la FAQ de ce Forum. Voilà pourquoi je m'en remets à vous. J'espère que vous aurez un peu de temps pour m'aider. Et désolé de vous ennuyer si ce problème vous semble simpliste... Merci de votre attention.
 

Dugenou

XLDnaute Barbatruc
Re : Tri vertical... Par ligne !

Salut

au moment du tri tu n'a sélectionné que la colonne B
il faut sélectionner toute la plage si tu veux que les lignes soient conservées

quelque chose du genre

Range("A2:D8").Select

Selection.Sort Key1:=Range("B3"), Order1:=xlAscending, Header:=xlGuess, _
 

Efgé

XLDnaute Barbatruc
Re : Tri vertical... Par ligne !

Bonjour Sebangu et bienvenu sur le forum, Bonjour Dugenou,
Une version sans select:
VB:
Sub Test()
With Sheets("Feuil1")
    .Range("A4:C" & .Range("A" & Application.Rows.Count).End(xlUp).Row).Sort Key1:=Range("B4"), Order1:=xlAscending, Orientation:=xlTopToBottom
End With
End Sub
Cordialement
 

Statistiques des forums

Discussions
312 291
Messages
2 086 841
Membres
103 399
dernier inscrit
Tassiou