XL 2016 Exécution lente des macros

halecs93

XLDnaute Impliqué
Bonjour à tout le monde,

J'ai deux évènements correspondant à la l'onglet "planning" qui, je crois ralentissent les calculs.

Il s'agit de :

Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
et
Worksheet_Change(ByVal Target As Range)

Existerait il un moyen d'accélérer le traitement du classeur ?

Merci beaucoup.
 

Pièces jointes

  • PLANNING - exceldownoads - accelerer macro.xlsm
    453.6 KB · Affichages: 18

Phil69970

XLDnaute Barbatruc
Bonjour à tous

@halecs93

Tu as 3652 règles sur la feuille planning o_O

VB:
Sub ListeMFC
Dim Ws As Worksheet
Set Ws = ActiveSheet  
Debug.Print ws.Cells.FormatConditions.count & " règles sur la feuille " & Ws.Name
End Sub

*Code "Sortie du tiroir des archives anglophones de Staple " ;)

C'est juste énorme et surement pas loin d'un record !! 🤣 🍾

Quoi faire ?
Virer toutes les MFC comme le dit Simply

VB:
Sub SupprimerMFC()
Dim Ws As Worksheet
Application.ScreenUpdating = False
For Each Ws In ThisWorkbook.Sheets
    Ws.Cells.FormatConditions.Delete
Next
End Sub

Et refaire que les MFC UTILES

Bonne lecture
 

TooFatBoy

XLDnaute Barbatruc
Tu as 3652 règles sur la feuille planning o_O

C'est juste énorme et surement pas loin d'un record !! 🤣
Je confirme qu'un grand nombre de MFC ralenti aussi bien les calculs que les macros...

J'ai déjà vu un tout petit peu plus de 3652 règles ici :
Et même encore un peu plus :
 
Dernière édition:

halecs93

XLDnaute Impliqué
Je confirme qu'un grand nombre de MFC ralenti aussi bien les calculs que les macros...

J'ai déjà vu un tout petit peu plus de 3652 règles ici :
Et même encore un peu plus :
Sans doute dû a de malheureux et bien maladroits copier-coller ?
 

TooFatBoy

XLDnaute Barbatruc
Il y aurait une autre solution pour compter les cellules colorées ?
C'est la fonction dont je parlais. ;)

Je n'ai pas regardé si on pouvait trouver une autre solution pour compter les couleurs.
Mais peut-être est-il possible de utiliser une fonction mais plutôt une macro qui ne se déclenche que sur un événement particulier (et donc moins fréquemment).
Ou peut-être peut-on remplacer le comptage des couleurs par autre chose.



Du coup, je n'arrive pas à réduire le nombre des MFC.... help
Pourtant sur la capture d'écran on voit des choses "mutualisables".

Quand tu supprimes toutes les MFC, est-ce que ça résout ton problème de lenteur ?
 

halecs93

XLDnaute Impliqué
C'est la fonction dont je parlais. ;)

Je n'ai pas regardé si on pouvait trouver une autre solution pour compter les couleurs.
Mais peut-être est-il possible de utiliser une fonction mais plutôt une macro qui ne se déclenche que sur un événement particulier (et donc moins fréquemment).
Ou peut-être peut-on remplacer le comptage des couleurs par autre chose.




Pourtant sur la capture d'écran on voit des choses "mutualisables".

Quand tu supprimes toutes les MFC, est-ce que ça résout ton problème de lenteur ?
Carrément, oui.

Je pense ne pas avoir écrit correctement les MFC (à force de copier-coller, encore une fois). Et j'ai du mal à corriger.
 

TooFatBoy

XLDnaute Barbatruc
Tu as une formule de MFC =B3="" qui s'applique uniquement à =$B$3 :confused:

- Tu peux déjà l'appliquer à =$B$3:$O$404

- Ensuite toutes les formules faisant la même chose deviennent inutiles.
(par exemple : =D150="" appliquée à =$D$150)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 098
Messages
2 116 189
Membres
112 679
dernier inscrit
Yupanki