XL 2016 Macro Excel pour trier un tableau ligne par ligne sans perdre la mise en forme initiale

L

Lucko

Guest
Bonjour à tous,

J'ai beau cherché sur le site avec la fonction de recherche mais je ne trouve plus la macro qui permet de trier ligne par ligne ( mais en un seul bloc) un tableau sans perdre la mise en forme initiale. Dans mon cas, je ne veux pas que les cellules en couleur se déplacent avec la valeur numérique qui doit aller du plus petit au plus grand. J'ai déjà vu un code macro semblable ici même mais je ne le retrouve. Merci.
 
L

Lucko

Guest
Bonjour Job75,

Ci-joint le fichier en question. J'ai bidouillé une macro à l'aide de l'enregistreur mais je n'arrive pas à conserver les cellules coloriées à leur place.
 

Pièces jointes

  • Tri par ligne.xlsm
    15.3 KB · Affichages: 39

job75

XLDnaute Barbatruc
Re, hello Bernard,
Code:
Sub TriTab()
Dim r As Range, a
For Each r In [Z3:AK12].Rows
  a = r
  tri a, 1, UBound(a, 2)
  r = a
Next
End Sub

Sub tri(a, gauc, droi)     ' Quick sort
Dim ref, g, d, temp
ref = a(1, (gauc + droi) \ 2)
g = gauc: d = droi
Do
    Do While a(1, g) < ref: g = g + 1: Loop
    Do While ref < a(1, d): d = d - 1: Loop
    If g <= d Then
      temp = a(1, g): a(1, g) = a(1, d): a(1, d) = temp
      g = g + 1: d = d - 1
    End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Tri par ligne(1).xlsm
    22.4 KB · Affichages: 60

Discussions similaires

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll