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

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:

Icedarts

XLDnaute Occasionnel
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.
 

Icedarts

XLDnaute Occasionnel
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

  • test trie.xlsm
    117.1 KB · Affichages: 290

Icedarts

XLDnaute Occasionnel
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:

mapomme

XLDnaute Barbatruc
Supporter XLD
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:

Discussions similaires

Réponses
10
Affichages
209
Réponses
9
Affichages
482

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami