Tri par ordre croissant

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

SALAH

XLDnaute Occasionnel
Bonjour à tous

J' ai un petit soucis,j' ai un tableau avec des colonnes et j'aimerais s' il est possible avec un code vb
de trier et d' organiser un tableau.
J' ai essayé de trouver une solution mais je bloque
Ci-joint un exemple pour mieux comprendre

Merci par avance
 

Pièces jointes

Re, Staple1600, Lone-wolf

Le but c' est de voir dans la colonne réf2 un ordre chronoloqique accompagnés de leurs propres références
Comme dans l exemple Ci dessous

ref1 ref2 désignation couleur
P 254 Chemises blanche
R 365 Veste rose
R 365 Veste vert
V 1478 Pull noir

Merci
 
Re

@Lone-wolf
C'est noté 😉
Dans ce cas:
VB:
Sub Tri_TEST_OK_C()
Dim l&, t
l = Cells(Rows.Count, "B").End(3).Row: t = Array(Array(0, 1), Array(1, 1))
Application.DisplayAlerts = False
If Len([A9]) = 0 Then
Range("B9:B" & l).TextToColumns Destination:=Range("A9"), DataType:=2, FieldInfo:=t
Range("A8:D" & l).Sort Key1:=Range("B8:B" & l), Order1:=1, Header:=True
Else
MsgBox "Tableau déjà trié"
End If
End Sub
 
Re

@SALAH
Pour les doublons, il suffit d'utiliser la MFC idoine 😉
(déjà paramétrée en natif dans Excel à partir de 2010 de mémoire)

EDITION: Donc la MFC native mais pilotée par VBA
VB:
Sub Doublons()
Dim l&, Plg As Range
l = Cells(Rows.Count, "B").End(3).Row
Set Plg = Range("B9:B" & l)
    Plg.FormatConditions.AddUniqueValues
    Plg.FormatConditions(Plg.FormatConditions.Count).SetFirstPriority
    With Plg.FormatConditions(1)
      .DupeUnique = xlDuplicate: .Font.Color = RGB(216, 0, 187)
      .Font.Bold = True: .Interior.Color = 13551615
      .StopIfTrue = False
    End With
End Sub
 
Dernière édition:
Re

Oubien une macro de Jacques Boisgontier. En G2 met la couleur de fond, ensuite

VB:
Sub ColorDoublons()
Dim mondico As Object, tablo As Range, c As Range

  Set mondico = CreateObject("Scripting.Dictionary")
  Set tablo = Range("b9", Range("b" & Rows.Count).End(xlUp))
  tablo.Interior.ColorIndex = xlNone

  For Each c In tablo
    If c <> "" Then mondico.Item(c.Value) = mondico.Item(c.Value) + 1
  Next c
  For Each c In tablo
    If mondico.Item(c.Value) > 1 Then c.Interior.Color = Range("g2").Interior.Color
  Next c
End Sub

Et en dessus de Else (Tri_TEST_OK_C()) Call ColorDoublons
 
- 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

Réponses
4
Affichages
174
Réponses
15
Affichages
464
Réponses
5
Affichages
173
Réponses
8
Affichages
356
Réponses
7
Affichages
320
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
556
Retour