Microsoft 365 filtrages temps exécution très long

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,
J'ai un gros problème de tris que je ne parviens pas à résoudre malgré mes recherches et mes tentatives.
Je me permets de me tourner une fois de plus vers vous pour demander de l'aide.

Procédure
Mon fichier de travail contient beaucoup de lignes (environ 60.000 actuellement) que je dois classer ,en fonction des urgences de rappels.
Si mon souci retient votre attention, vous le verrez dans le classeur test joint, il y a 5 types de classements des appels (+ Afficher toutes les lignes).
A appeler URGENT :
- aujourd’hui,

A appeler BIENTÔT :
- dép. A Rapp (dates dépassées sur rappels à faire),
- dép. Rép. (dates dépassées sur Répondeurs),
- OK RdV (vendeurs ayant donné le OK RdV au Rappel),
- les autres (s/A Rapp. et Repond.).

J'ai 5 boutons pour les tris permettant d'afficher UNIQUEMENT les lignes de rappels.
Bien évidemment les lignes des rappels URGENTS sont priorisées.

Pour afficher les lignes voulues, j'ai codé en filtrage avec classement (macros AffichageSuivisAppels).

Si je supprime les formatages de toutes les lignes à partir de la ligne 7 ... plus de problème les filtrages sont instantanés.

Mais, afin de pouvoir avoir une visibilité minimum pour consulter une ligne avant appel, , je dois conserver le formatage des lignes pour les colonnes :
- J N° Client,
- S commentaires après appels,
- T et V Dates de rappels,
- X situation au dernier appel,

Et là, ça ne va plus du tout, les filtrages sont très longs et cela me cause une perte de temps très importante.
Je me suis permis de joindre un fichier test "un peu gros" environ 6.500 lignes.
Si vous testez, vous pourrez constater les temps de filtrages pour 6.500 lignes.
Alors vous pourrez imaginer pour 60.000 et plus.

En espérant avoir été clair (il m'arrive souvent de ne pas l'être LOL), je joins le fichier test dans l'espoir d'une solution :)
Un grand merci déjà pour m'avoir lu.

Je vous souhaite une bonne fin de dimanche.
Amicalement,
lionel,
 

Pièces jointes

  • tris_test4.xlsm
    908.2 KB · Affichages: 25
Solution
Bonjour Lionel, le forum,
Je fais ce filtrage des dizaines de fois par jour et 10 secondes c'est vraiment trop long.
Alors en effet il faut effacer tous les formats de la ligne 7 jusqu'à la dernière ligne de la feuille.

Et les recréer ensuite sur les lignes du VisibleRange, voyez ce fichier (2) et ces 2 macros :
VB:
Sub Filtrer(critere As Range)
Trie_Ttlignes
[6:6].AutoFilter
[6:6].AutoFilter Field:=24, Criteria1:=[E3] 'Field:=1 colonne filtrage
[X1] = "=""Affiché""&""                          ""&SUBTOTAL(103,R[6]C:R[99999]C)"
[V1] = "=IF(R5C35>0,R5C35,""O"")"
[AA5] = "=COUNTIF(C[-3],""" & critere & """)"
lig = 0
VisibleRangeFormat
End Sub

Sub VisibleRangeFormat()
Dim col%, P As Range
If ActiveWindow.ScrollRow <> lig And...

job75

XLDnaute Barbatruc
Bonjour Lionel,

En déclarant Public la variable P ce fichier (3) fera gagner quelques dixièmes de seconde :
VB:
Public lig&, P As Range, t 'mémorise les variables
'---'
    If P Is Nothing Then Rows("7:" & Rows.Count).ClearFormats Else P.ClearFormats 'RAZ
    Set P = Intersect(ActiveWindow.VisibleRange.EntireRow, Range("A7:A" & Rows.Count)).SpecialCells(xlCellTypeVisible).EntireRow
A+
 

Pièces jointes

  • tris_test4(3).xlsm
    679.7 KB · Affichages: 5

Usine à gaz

XLDnaute Barbatruc
lol, je ne dirai pas que je vois vraiment la différence sur un test ou 2 mais ça me semble rapide et sur le nombre de répétitions des actions dans une journée, ce sera certainement un précieux temps d'exécution de gagné.
Encore un grand MERCI à toi :)
lionel,
 

Usine à gaz

XLDnaute Barbatruc
Bjr Gérard, le Forum,
lol "vieux motard que j'aimais",
Je viens de m'apercevoir que je ne suis pas revenu comme promis au poste 20.
Plates excuses, je croyais l'avoir fait;
Effectivement même avec 60.000 lignes c'est très rapide et c'est super pour moi.
Encore un grand merci :)
Bonne journée à toutes et à tous,
lionel,
 

Discussions similaires

Réponses
3
Affichages
167
Réponses
7
Affichages
631
Réponses
23
Affichages
1 K
Réponses
22
Affichages
1 K

Statistiques des forums

Discussions
314 655
Messages
2 111 603
Membres
111 217
dernier inscrit
aladinkabeya2