Résolu [VBA] Macros trop longues et à optimiser

Anthonymctm

XLDnaute Occasionnel
Bonjour le forum,

Avec ce que j'ai trouvé sur le net et sur le forum, j'ai réussi a bricoler un macro de retraitement et de mise en forme :p
Je vous ai joint un fichier test

Les macros fonctionnent, par contre l'exécution totale met beaucoup de temps (plusieurs minutes)
C'est pour ça que j'ai besoin de votre expertise :)

Le but de la macro est, selon le nombre d'onglet EC (X) de réaliser un descriptif à imprimer.
Ce descriptif se remplis via des formule en AF, et pour modifier modifier la police à l’intérieur d'une formule je n'ai trouvé que la méthode suivante :
-Copier/coller les valeurs,
-Réinitialiser la police,
-Appliquer la police souhaitée sur les bouts de textes souhaités (selon police dans la colonne O)

Merci !
 

Fichiers joints

Anthonymctm

XLDnaute Occasionnel
Une piste intéressante je pense pourrait être de ne pas appliquer la macro Chercher_Colorier_plage_liste sur les lignes masquées. (je ne sais pas comment le faire)(les lignes masquées sont celles où la colonne N = 0)

En effet, avant de lancer la macro MEF_descriptif, je masque toutes les lignes non concernées (mais le code s’applique quand même dessus.
 
Dernière édition:

Anthonymctm

XLDnaute Occasionnel
J'ai trouvé sur le net pour n'appliqué la range que sur les cellules visibles
VB:
Sub Chercher_Colorier_plage_liste(xrgTxt As Range, xrgQuoi As Range)
 ' idem précédent mais on recherche au sein d'une plage de cellule xrgTxt.
' C'est le cas le plus général: on recherche au sein de toute la plage xrgTxt
' chaque mot de la plage xrgQuoi et on applique la mise en forme graisse et couleur

Dim xcell As Range
old = Application.ScreenUpdating: Application.ScreenUpdating = False

 For Each xcell In xrgTxt.SpecialCells(xlCellTypeVisible)
    Chercher_Colorier_un_liste xcell, xrgQuoi
  Next xcell
  Application.ScreenUpdating = old
 
End Sub
Je sais pas si c'est optimal mais je passe déjà de 5 minutes à 1 minute de traitement :cool:
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas