Optimiser tri d'une feuille contenant des liens Hypertext

Kazimir

XLDnaute Nouveau
Bonjour à tous,

voici mon souci: j'ai une macro permettant de trier 4 feuilles suivant une même colonne dans chaque feuille, j'ai donc bouclé sur une même macro comme suit:
Code:
Sub Tri_feuilles()
    Feuill = Array("Fiches", "Suivi", "Diplomes", "Commentaires")

    For zz = 0 To 3

        ActiveWorkbook.Worksheets(Feuill(zz)).AutoFilter.Sort.SortFields.Clear
        ActiveWorkbook.Worksheets(Feuill(zz)).AutoFilter.Sort.SortFields.Add Key:=Range _
            ("D2:D300"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
            xlSortNormal
        With ActiveWorkbook.Worksheets(Feuill(zz)).AutoFilter.Sort
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    Next

End Sub

le problème c'est que cette macro prend ~5 sec a s’exécuter et je l'appelle à chaque modification de l'une des 4 feuilles...

je pensais l'optimiser en passant par des variables tableaux ( copie dans tableau -> tri tableau -> coller dans la feuille) mais le problème c'est que les cellules a trier comportent des liens hypertexte.
je ne vois pas comment faire pour que le tri n’omette pas ces liens.

des idées ?

merci d'avance de votre aide
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Optimiser tri d'une feuille contenant des liens Hypertext

Bonsoir Kasimir et bienvenue sur XLD :),

Un petit fichier joint eut été aussi le bienvenu. Un essai dans le fichier joint. Les codes sont dans Module1 et dans le module de code de ThisWorkbook. On ne trie que la feuille qui a fait l'objet d'une modif.

ThisWorkbook:
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  Trier Sh
End Sub
Module1:
Code:
Option Explicit
Const Feuilles = "Feuil1;Feuil2;Feuil3;Feuil4"

Sub Trier(x As Worksheet)
If InStr(";" & Feuilles & ";", ";" & x.Name & ";") > 0 Then _
  x.Range("d1").CurrentRegion.Sort x.Range("d1"), xlAscending, Header:=xlYes
End Sub
 

Pièces jointes

  • Kazimir-Trier feuilles-v1.xlsm
    28.2 KB · Affichages: 19
Dernière édition:

Kazimir

XLDnaute Nouveau
Re : Optimiser tri d'une feuille contenant des liens Hypertext

Bonjour,

merci pour la réponse rapide, ça marche bien, j'ai adapté a mon besoin.
Par contre, je rencontre un souci car j'ai des cellules fusionnées et la macro ne sait manifestement pas en tenir compte :(


Je ne peux malheureusement pas diffuser un fichier pour des raisons de confidentialité mais je vais essayer de faire un modèle pour que vous puissiez m'aider.
 

Discussions similaires

Réponses
11
Affichages
454
Réponses
3
Affichages
592

Statistiques des forums

Discussions
312 370
Messages
2 087 691
Membres
103 641
dernier inscrit
anouarkecita2