[RESOLU] trier les valeurs horizontalement sur toutes les lignes.

  • Initiateur de la discussion Initiateur de la discussion Icedarts
  • 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 !

Icedarts

XLDnaute Occasionnel
Bonjour à tous,

J'ai une feuille remplie de valeurs.
Je souhaiterai trier chaque ligne de la valeur la plus grande à la plus petite.
J'ai trouvé pour le faire ligne par ligne dans les options de l'onglet "trier" en choisissant de gauche à droite.

Mais je me vois mal le faire pour mes 1700 lignes lol.

Si quelqu'un connait une astuce pour trier toutes les lignes d'un coup ça me serait très utile.

Merci d'avance pour votre aide.
 
Dernière édition:
Re : trier les valeurs horizontalement sur toutes les lignes.

Merci beaucoup!

Après adaptation du code à mon fichier cela fonctionne parfaitement.
Le trie se fait sur 12 colonnes et il ne faut aucune cellule vide.
J'ai donc remplacé les cellule vide par la valeur 0 (je n'ai pas de valeur négative).
Et le trie se fait du plus petit au plus grand mais ça ne change rien du tout en fait 😉

Merci encore.
 
Re : trier les valeurs horizontalement sur toutes les lignes.

Autant pour moi je viens de m'apercevoir que la macro effectue un tri aussi sur les lignes.
En pièce jointe le fichier avec mes modifications.
En haut les lignes triées en dessous le tableau sans trie.

Le fichier serait parfait sans ce tri sur les lignes.
 

Pièces jointes

Re : trier les valeurs horizontalement sur toutes les lignes.

C'est bon c'est réglé:

Code:
Sub trier()
Dim T, i, j, ech As Boolean, aux

Application.GoTo Sheets("Feuil1").Range("A1"), True
Application.ScreenUpdating = False
T = Range("A1").CurrentRegion.Value

On Error GoTo VIDE
For i = 1 To UBound(T)
  Do
  ech = False
    For j = 1 To 11
      If T(i, j) < T(i, j + 1) Then
        aux = T(i, j): T(i, j) = T(i, j + 1): T(i, j + 1) = aux: ech = True
      End If
    Next j
  DoEvents
  Loop Until ech = False
Next i
VIDE:
Range("A1").CurrentRegion.Value = T
MsgBox "C'est fini !"
Application.ScreenUpdating = True

End Sub

Et ça trie même du plus grand au plus petit 😉

Merci encore.
 
Dernière édition:
Re : trier les valeurs horizontalement sur toutes les lignes.

Bonjour Icedarts,

Ravi que vous vous en soyez sorti. Juste un point:

Vous n'avez plus d'étiquette de branchement " VIDE:". L'instruction On Error GoTo VIDE n'est donc plus utile. Cette instruction permettait juste de gérer l'erreur quand la zone à trier était vide (il faut être un peu tordu pour vouloir trier un tableau vide 🙂 ).
 
Dernière édition:
- 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

C
  • Question Question
Réponses
2
Affichages
908
Claudine chavassieux
C
C
Réponses
0
Affichages
1 K
C
M
Réponses
5
Affichages
4 K
MagaliRC
M
V
Réponses
5
Affichages
1 K
Vince78740
V
D
  • Question Question
Réponses
2
Affichages
821
David1902
D
N
Réponses
2
Affichages
1 K
NEGI Laura
N
F
Réponses
7
Affichages
2 K
Fradet1990
F
A
Réponses
1
Affichages
574
APPRENTI:)
A
Retour