[VBA] Macros trop longues et à optimiser

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😛
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 !
 

Pièces jointes

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:
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 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour