Autres Tri simple vba

aredo

XLDnaute Occasionnel
bonjour,

Petite demande en pièce jointe, le tri n'est pas assez précis.
merci de bien vouloir me corriger le vba.
excel 2007 et 2016
 

Pièces jointes

  • tri.xlsm
    17.6 KB · Affichages: 7

aredo

XLDnaute Occasionnel
Ce ne sont pas des divisions. Simplement des références, on peut remplacer le slash par un tiret.
Le fichier d'origine comporte neuf colonnes dont une masquée, des chiffres , du texte et des formules .
Le souci étant de classer dans l'ordre établi dans le fichier joint.
 

Pièces jointes

  • tri.xlsm
    17.7 KB · Affichages: 3

Dranreb

XLDnaute Barbatruc
Bonsoir.
Plus rapide comme ça :
VB:
Private Sub CommandButton1_Click()
   Application.ScreenUpdating = False
   Range("C3:C9").FormulaR1C1 = "=LEFT(RC1,SEARCH(""/"",RC1)-1)*10000+MID(RC1,SEARCH(""/"",RC1)+1,4)*1"
   Range("A3:C9").Sort Key1:=Range("c3"), Order1:=xlAscending
   Range("C3:C9").ClearContents
   End Sub
Private Sub CommandButton2_Click()
   Application.ScreenUpdating = False
   Range("C3:C9").FormulaR1C1 = "=LEFT(RC1,SEARCH(""/"",RC1)-1)*10000+MID(RC1,SEARCH(""/"",RC1)+1,4)*1"
   Range("A3:C9").Sort Key1:=Range("c3"), Order1:=xlDescending
   Range("C3:C9").ClearContents
   End Sub
ou comme ça :
VB:
Private Sub CommandButton1_Click()
   Application.ScreenUpdating = False
   ModNumTemp
   Range("A3:C9").Sort Key1:=Range("c3"), Order1:=xlAscending
   Range("C3:C9").ClearContents
   End Sub
Private Sub CommandButton2_Click()
   Application.ScreenUpdating = False
   ModNumTemp
   Range("A3:C9").Sort Key1:=Range("c3"), Order1:=xlDescending
   Range("C3:C9").ClearContents
   End Sub
Private Sub ModNumTemp()
   Dim T(), L As Long, TSpl() As String
   T = [A3:A9].Value
   For L = 1 To UBound(T, 1)
      TSpl = Split(T(L, 1), "/")
      T(L, 1) = TSpl(0) * 10000 + TSpl(1)
      Next L
   [C3:C9].Value = T
   End Sub
 

Discussions similaires

Réponses
9
Affichages
262
  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
317
Réponses
16
Affichages
284

Statistiques des forums

Discussions
312 243
Messages
2 086 541
Membres
103 244
dernier inscrit
lavitzdecreu