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.
 

job75

XLDnaute Barbatruc
Bonjour Lucko,

Vous pouvez trier le tableau avec la macro Quick sort (à adapter).

Si vous voulez qu'on vous le fasse joignez votre fichier.

A+
 
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.
 

Fichiers joints

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+
 

Fichiers joints

Discussions similaires


Haut Bas