Tri plusieurs Lignes

  • Initiateur de la discussion Initiateur de la discussion Virginie
  • Date de début Date de début

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 !

V

Virginie

Guest
Je souhaite réaliser un tri par ordre croissant d'horaires sur une centaine de lignes. Problème rencontré : quand je sélectionne l'ensemble de la table et que je demande un tri par ligne, Excel trie par ordre croissant les données de la première ligne, ce qui déplace l'ensemble des chiffres situés en-dessous, mais non par ordre croissant (car Excel considère que les chiffres d'en dessous sont liés aux chiffres de la première ligne).
Pour pouvoir effectuer le tri par ordre croissant de toutes les lignes, il est nécessaire que je sélectionne les lignes une par une, et que je fasse le tri pour chaque ligne.
Existe-t-il une solution pour automatiser ce tri pour toutes les lignes ?
Merci par avance pour votre aide !
 
Bonsoir Virginie,

Je crois que ton problème vient des options de tri qui sont enregistrés sur ta machine.

Si tu veux, comme je crois l'avoir compris, trier de la ligne 1 à la ligne 100 de sorte que les données de la colonne 1 soient en ordre croissant, sélectionne les lignes 1 à 100,
vas dans le menu données/trier
là dans la boîte de dialogue tu dois avoir comme première clé "colonne A".
Si ce n'est pas le cas (et qu'à la place tu as "ligne A") il faut que tu cliques sur le bouton Options et là choisis l'option orientation du haut vers le bas (au lieu de la gauche vers la droite) puis valide.
Normalement tu devrais alors faire le tri que tu souhaites.

Bonne soirée
 
Voici une macro qui pourrais je pense te rendre un grand service


Sub tri_croissant()

'Obligation avant de lancer la macro de sélectionner en premier
' lieu la première ligne du tableau

Dim cellule2 As Range

cellule = InputBox("Indiquez la première ligne à selectionner sous la forme (a1:a6)")

Set cellule2 = Range(cellule)

ligne = cellule2.Row
colonnedebut = cellule2.Column
colonnefin = Cells(ligne, 256).End(xlToLeft).Column

Do Until Cells(ligne, colonnedebut).Value = ""

a = Cells(ligne, colonnedebut).AddressLocal
b = Cells(ligne, colonnefin).AddressLocal

Range(a, b).Select

Selection.Sort Key1:=Range("B" & ligne), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight

ligne = ligne + 1

Loop

Range("a1").Select

MsgBox "Tri terminé"

End Sub
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Power Query tri powerquery
Réponses
9
Affichages
880
Réponses
5
Affichages
283
Réponses
22
Affichages
878
  • Question Question
Microsoft 365 Macro VBA - Excel
Réponses
12
Affichages
576
Retour