Accelerer une opèration de tri multicritère
benjamin
-
benjamin -
benjamin -
Bonjour à tous le forum !!!
Grace à vous je commence à m'améliorer en programmation VBA. C'est pourquoi je me dirige vers vous pour solutionner mon problème.
Voici mon programme VBA pour réaliser un tri multicritère. Il marche mais en me prenant 2 minutes.
Comme vous pouvez le constater, je réalise un tri à multicritère et j'enregistre le fichier obtenu. Ainsi de suite, jusqu'à réaliser 4 tris.
Cela résulte-t-il de mon programme ? Peut modifier mon programme pour réduire le temps au minimum possible ? Si oui, comment le faire ? Je vous prie de m'aider.
Cordialement,
Public Sub tri()
Dim plg As Range
Application.ScreenUpdating = False
Set plg = Workbooks("clas.xlsm").Worksheets("feuil2").Range("A1:EE23353")
plg.AutoFilter
plg.Sort key1:=plg.Cells(1), order1:=xlAscending, key2:=plg.Cells(2), order2:=xlAscending, _
key3:=plg.Cells(3), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Plg.Sort key1:=Plg.Cells(3), order1:=xlAscending, key2:=Plg.Cells(4), order2:=xlAscending, _
key3:=Plg.Cells(5), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Plg.Sort key1:=Plg.Cells(6), order1:=xlAscending, key2:=Plg.Cells(7), order2:=xlAscending, _
key3:=Plg.Cells(8), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Plg.Sort key1:=Plg.Cells(8), order1:=xlAscending, key2:=Plg.Cells(9), order2:=xlAscending, _
key3:=Plg.Cells(10), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Application.ScreenUpdating = True
End Sub
Aidez moi s'il vous plait
Grace à vous je commence à m'améliorer en programmation VBA. C'est pourquoi je me dirige vers vous pour solutionner mon problème.
Voici mon programme VBA pour réaliser un tri multicritère. Il marche mais en me prenant 2 minutes.
Comme vous pouvez le constater, je réalise un tri à multicritère et j'enregistre le fichier obtenu. Ainsi de suite, jusqu'à réaliser 4 tris.
Cela résulte-t-il de mon programme ? Peut modifier mon programme pour réduire le temps au minimum possible ? Si oui, comment le faire ? Je vous prie de m'aider.
Cordialement,
Public Sub tri()
Dim plg As Range
Application.ScreenUpdating = False
Set plg = Workbooks("clas.xlsm").Worksheets("feuil2").Range("A1:EE23353")
plg.AutoFilter
plg.Sort key1:=plg.Cells(1), order1:=xlAscending, key2:=plg.Cells(2), order2:=xlAscending, _
key3:=plg.Cells(3), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Plg.Sort key1:=Plg.Cells(3), order1:=xlAscending, key2:=Plg.Cells(4), order2:=xlAscending, _
key3:=Plg.Cells(5), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Plg.Sort key1:=Plg.Cells(6), order1:=xlAscending, key2:=Plg.Cells(7), order2:=xlAscending, _
key3:=Plg.Cells(8), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Plg.Sort key1:=Plg.Cells(8), order1:=xlAscending, key2:=Plg.Cells(9), order2:=xlAscending, _
key3:=Plg.Cells(10), order3:=xlAscending, Header:=xlYes, Orientation:=xlTopToBottom
ThisWorkbook.Save
Application.ScreenUpdating = True
End Sub
Aidez moi s'il vous plait
A voir également:
- Accelerer une opèration de tri multicritère
- Accelerer windows 10 - Guide
- Accelerer une video - Guide
- Comment faire un tri personnalisé sur excel - Guide
- Logiciel tri photo - Guide
- Accélérer android - Guide
5 réponses
Bonjour,
Tu as deux tris suivant la colonne 3. Idem pour la colonne 8.
La sauvegarde à chaque fois est aussi chronophage.
As-tu d'autres macros qui s'exécutent en fonction des changement de ton tableau ? Des formules qui se recalculent (passer en calcul sur orde le cas échéant en début de macro) ?
A+
Tu as deux tris suivant la colonne 3. Idem pour la colonne 8.
La sauvegarde à chaque fois est aussi chronophage.
As-tu d'autres macros qui s'exécutent en fonction des changement de ton tableau ? Des formules qui se recalculent (passer en calcul sur orde le cas échéant en début de macro) ?
A+
Bonsoir
Au fait, j('y ai assez réfléchi mais helas. je n'arrive pas a y remédier puisque ce sont mes critères de filtres.
Cordialement,
Au fait, j('y ai assez réfléchi mais helas. je n'arrive pas a y remédier puisque ce sont mes critères de filtres.
Cordialement,
Bonsoir!!
Je me demande, si je n'enregistre pas, est ce que je ne perdrai pas les résultats des filtres précédentes?
Au fait, pour moi en enregistrant, j'obtient une nouvelle base sur laquelle j'effectue de nouveau tri.
Mais si je n'enregistre pas, je me dis que tout se passera comme si je n'ai fais qu'n seul tri.
Oriente moi si je conçois mal.
Cordialment
Je me demande, si je n'enregistre pas, est ce que je ne perdrai pas les résultats des filtres précédentes?
Au fait, pour moi en enregistrant, j'obtient une nouvelle base sur laquelle j'effectue de nouveau tri.
Mais si je n'enregistre pas, je me dis que tout se passera comme si je n'ai fais qu'n seul tri.
Oriente moi si je conçois mal.
Cordialment
Bonsoir,
Oui, tu conçois mal.
Ne fais la sauvegarde qu'à la fin
Le principe de tri avec plus de 3 critères est traité par ailleurs sur le net. Jette un oeil là (en particulier la semi-récursivité) : https://codes-sources.commentcamarche.net/
et là (car tu as aussi 7 critères) : https://www.generation-nt.com/reponses/tri-plus-3-colonnes-entraide-3755031.html
A+
Oui, tu conçois mal.
Ne fais la sauvegarde qu'à la fin
Le principe de tri avec plus de 3 critères est traité par ailleurs sur le net. Jette un oeil là (en particulier la semi-récursivité) : https://codes-sources.commentcamarche.net/
et là (car tu as aussi 7 critères) : https://www.generation-nt.com/reponses/tri-plus-3-colonnes-entraide-3755031.html
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question