Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment trier automatiquement colonne par valeur dans Excel?

Par exemple, vous avez une table d'achat comme vue d'écran gauche affichée. Vous voulez maintenant que la colonne Prix soit triée automatiquement lorsque vous entrez un nouveau nombre / prix dans cette colonne, comment pouvez-vous le résoudre? Ici, je présente une macro VBA pour vous aider à trier automatiquement une colonne spécifique par valeur dans Excel.

Tri automatique de la colonne par valeur avec VBA

Trier facilement par fréquence d'occurrences dans Excel

Kutools pour Excel Tri avancé utilitaire prend en charge le tri des données par longueur de texte, nom de famille, valeur absolue, fréquence, etc. dans Excel rapidement. Fonctionnalité complète Essai gratuit 60-day!
ad tri par fréquence 2


flèche bleue droite bulleTri automatique de la colonne par valeur avec VBA

Cette macro VBA triera toutes les données dans une colonne spécifique automatiquement dès que vous entrez de nouvelles données ou modifiez la valeur dans la colonne dans Excel.

1. Cliquez avec le bouton droit sur le nom de la feuille actuelle dans le Barre d'onglet de feuille, puis cliquez sur le Voir le code dans le menu contextuel.

2. Dans la boîte de dialogue Microsoft Visual Basic pour l'application d'ouverture, collez le code de macro VBA suivant dans la fenêtre d'ouverture.

VBA: Colonne de tri automatique dans Excel

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Range("B1").Sort Key1:=Range("B2"), _
Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub

Note: Dans le code vba ci-dessus, B: B signifie qu'il triera automatiquement la colonne B, B1 est la première cellule de la colonne B, B2 est la deuxième cellule de la colonne B et vous pouvez les modifier en fonction de vos besoins.

3. Ensuite, revenez à la feuille de calcul, lorsque vous entrez un nouveau nombre dans la colonne Prix ou modifiez des prix existants, la colonne Prix sera automatiquement triée par ordre croissant.

Note: lorsque vous entrez un nouveau numéro dans la colonne Prix, vous devez entrer le numéro dans la première cellule vide sous les numéros originaux. S'il y a des cellules vides entre le nouveau numéro entré et les numéros originaux ainsi que des cellules vides entre les numéros originaux, cette colonne ne sera pas triée automatiquement.


Démo: tri automatique de la colonne par valeur avec VBA dans Excel

Dans cette vidéo, le Kutools onglet et le Kutools Plus onglet sont ajoutés par Kutools for Excel. Si besoin, s'il vous plaît cliquez ici avoir un essai gratuit 60-day sans limitation!



Outils de productivité recommandés

Office Tab

étoile d'or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d'or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d'or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d'écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Paula · 2 days ago
    May I ask if there is a way to use this VBA code if there is a formula in the column that you want to be the main sort.

    i.e. if A2 = the sum of f2 + g2+ h2 and column A needs to be sorted on the total sum? (I can't get VBA to work if formula in the cells)

    Any assistance would be kindly appreciated as hope to use it for ranking races when the winner is the one with the total of three racing events.

    Thank You
  • To post as a guest, your comment is unpublished.
    Bekir · 12 days ago
    Hi,

    How can I make this macro start after I fill all data to the specific column?
    I want the listing macro start after I fill empty boxes. Because when I use this, it changes the place suddenly.
    I need to start this macro after I filled the last data of that column (20 datas to be exact)
  • To post as a guest, your comment is unpublished.
    Rhea · 7 months ago
    Hello, I am an intermediate Excel user. I am wondering if someone could help direct me for what I am trying to accomplish. Here is what I am trying to do: Auto-Sort with Custom Order.

    A little about my spreadsheets: I have one sheet (named: Sheet1) that lists 16 columns (A through P) and currently 19 rows (this number will increase as more data is entered). In the last column (column P) all cells have a drop down menu of options (located and pulled from sheet two (named "BackEnd"). The drop down selections are color-coded (using conditional formatting rules).

    What I am hoping to do: As a user enters data in a new row, as soon as they are finished selecting an option from the drop down menu in column P, Excel will auto-sort the new row to a specific order. I have been able to create VBA code for auto-sorting in ascending and descending order, but I have not been able to create a code for auto-sorting the data in a specific order. The order I would like to have the data sorted into is:

    Unresponsive
    Not Interested
    Interested
    Pre-Screened Not Qualified:
    Pre-Screened Qualified
    Application Pending
    Application Approved
    Initial Assessment:
    Scope of Work:
    Home Repairs in Progress
    On Hold:
    Complete
    Other:

    Is this possible? Any help is appreciated! Thank you!
  • To post as a guest, your comment is unpublished.
    Stephen · 11 months ago
    While this is a fantastic code, I would like to know if anyone could help me get it go from ascending to descending? In other words, I'm looking for it to be the largest number on top with the lowest number on the bottom
    • To post as a guest, your comment is unpublished.
      Xander · 11 months ago
      Change (Order1:=xlAscending, Header:=xlYes, ) To (Order1:=xlDescending, Header:=xlYes, )
  • To post as a guest, your comment is unpublished.
    SHABEERALI · 1 years ago
    Any one know how to set set an auto serial no. for an excel work sheet. The number should excludes all heading and sub headings, and should auto re arrange after adding or deleting a row.
    • To post as a guest, your comment is unpublished.
      Tang Kelly · 1 years ago
      Hi,
      Kutools for Excel provides an Insert Sequence Number feature, which can insert unique and consecutive values no matter how many times you insert.
      For example, the first time you insert 1,2,3,4;
      The second time this feature will insert 5,6,7,8,9,10
      The third time this feature will insert 11,12,…