[RESOLU] Trier un tableau en VBA

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 !

Ternoise

XLDnaute Occasionnel
Bonsoir le Forum

Cette ligne pour trier ne fonctionne pas. Je ne sais pas pourquoi.
.Range("B:I" & Lig).Sort .[B3], xlDescending, Header:=xlYes 'tri alphabétique

J'ai regardé pas mal d'exemples mais pas moyen.

Les données de mon tableau commencent en B4 jusqu’à la colonne I
Les entêtes sont en ligne 3

J'aimerais trier mon tableau par ordre alphabétique sur la colonne B donc B3

Merci de votre aide
David

Mon code :
Private Sub CmdConfirmAjouter_Click()

ListPMT.Value = ""
Lig = Sheets("BDPMT").[B65000].End(xlUp).Row + 1
With Sheets("BDPMT")

.Range("B" & Lig).Value = Me.TextVille.Value
.Range("C" & Lig).Value = Me.TextLieux.Value
.Range("D" & Lig).Value = Me.TextNom.Value
.Range("E" & Lig).Value = Me.TextDate.Value
.Range("F" & Lig).Value = Me.TextMode.Value
.Range("G" & Lig).Value = Me.TextMotif.Value
.Range("H" & Lig).Value = Me.TextAttribution.Value
.Range("I" & Lig).Value = Format(Me.TextDateAttribution.Value, "mm/dd/yyyy")

'Tri du tableau sur la colonne B
.Range("B:I" & Lig).Sort .[B3], xlDescending, Header:=xlYes 'tri alphabétique

End With
End Sub
 
Dernière édition:
Re : Trier un tableau en VBA

bonsoir,

EDIT: modifié pour 2003 !

Code:
Lig = 6 '< ici ta ligne et l'entête en B3 !
 Sheets("BDPMT").Select
 R1$ = "B3": R$ = R1$ & ":I" & Lig
 Range(R$).Select
 Selection.Sort Key1:=Range(R1$), Order1:=xlAscending, _
   Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
 
Dernière édition:
Re : Trier un tableau en VBA

Bonsoir,


UNE PETITE FAUTE DANS TON CODE:


.Range("B:I" & Lig).Sort .[B3], xlDescending, Header:=xlYes 'tri alphabétique


.Range("B3:I" & Lig).Sort .[B3], xlDescending, Header:=xlYes 'tri alphabétique

xlAscending pour tri croissant de A à Z
xlDescending ==> decroissant donc de Z à A
 
Re : Trier un tableau en VBA

Bonsoir Ternoise, Roland et le Forum.

Peut-être comme ceci, le tri étant "Descending".

End With

Range("B3:I" & Lig).Select
Selection.Sort Key1:=Range("B3"), Order1:=xlDescending, Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End Sub

A+

René

Edit: Bonsoir Kingfadhel
 
Dernière édition:
Re : Trier un tableau en VBA

re

sous 2003 et simplifié !

Code:
Lig = 6 '< ici ta ligne et l'entête en B3 !
Sheets("BDPMT").Select
R1$ = "B3": R$ = R1$ & ":I" & Lig
Range(R$).Select
Selection.Sort Key1:=Range(R1$), Order1:=xlAscending, _
  Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
 
- 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

  • Question Question
XL 2021 listbox
Réponses
18
Affichages
285
Réponses
4
Affichages
177
Retour