XL 2013 Corriger mon code 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 !

belhoucine dine

XLDnaute Nouveau
Bonsoir tout le monde
Lorsque j'appuie sur le bouton TRI la colonne A, les données sont mélangées entre la dernière et l'avant-dernière
Merci à tous pour l'aide
Je vous enverrai le fichier pour clarification
 

Pièces jointes

Bonjour le fil

@belhoucine dine
J'ai ouvert le fichier
Puis j'ai Trier en laissant tourner l'enregistreur de macros
Code:
Sub Macro1()
    ActiveWorkbook.Worksheets("CHERCHER").ListObjects("t_BDD").Sort.SortFields. _
        Clear
    ActiveWorkbook.Worksheets("CHERCHER").ListObjects("t_BDD").Sort.SortFields. _
        Add2 Key:=Range("t_BDD[Désignation Produits]"), SortOn:=xlSortOnValues, _
        Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("CHERCHER").ListObjects("t_BDD").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
Le tri semble correct, non ?
Comme le signalait déjà @sylvanu dans le message#6
 
Re

C'est deux autres syntaxes (old school) semblent également faire le tri
Code:
Sub TRI_BIS()
Dim lOBJ As ListObject
Set lOBJ = ActiveWorkbook.Worksheets("CHERCHER").ListObjects("t_BDD")
lOBJ.Range.Sort _
    Key1:=lOBJ.ListColumns(1), _
    Order1:=xlAscending, _
    Header:=xlYes, _
    OrderCustom:=1, _
    MatchCase:=False, _
    Orientation:=xlTopToBottom
End Sub
Sub TRI_TER()
Dim lOBJ As ListObject
Set lOBJ = ActiveWorkbook.Worksheets("CHERCHER").ListObjects("t_BDD")
lOBJ.Range.Sort Key1:=lOBJ.ListColumns(1), Order1:=xlAscending, Header:=xlYes
End Sub
 
Bonjour belhoucine dine, JM,

Triez le tableau du post #1 sur la colonne A en ordre décroissant avec la commande Trier.

Puis exécutez votre code en cliquant sur le bouton.

Vous verrez qu'il a un grave défaut : seule la colonne A est triée, pas le tableau entier.

Puisque vous voulez corriger le code utilisez simplement :
VB:
Private Sub CommandButton1_Click()
With ListObjects(1).Range 'tableau structuré
    .Sort .Cells(1), xlAscending, Header:=xlYes
End With
End Sub
A+
 

Pièces jointes

- 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
2
Affichages
370
  • Question Question
Microsoft 365 N° de semaine
Réponses
4
Affichages
193
Réponses
2
Affichages
409
  • Question Question
Réponses
7
Affichages
130
Retour