XL 2010 mise en forme conditionnelle par macro

loul03

XLDnaute Occasionnel
Bonjour,

j'ai ms en place un tableau avec en vrai 58 colonnes et 450 lignes (mais la base est la même que celle du fichier joint). la mise en forme a été faite sans passer par le VBA sauf que ça ralentit énormement le fichier, et dès que je fusionne deux cellules ça moulinne pendant 1-2 min, bref ce n'est pas une solution!lol

je fais donc appelle à vous pour savoir, s'il est possible de réaliser les mêmes mises en formes (colonnes nuit (onglet base) écrit en gras rouge et si en plus le numéro se retrouve dans la colonne LRDL le mettre en jaune, ou dans la colonne omega en orange . Si jour , écrire en noir et en gras . Les éléments indiqués dans la colonne représentation doivent être en fond violet écrits en gras blanc.

je vous joins le fichier pour , j'espère, plus de clarté.

Bonne journée
et merci par avance
loul
 

Pièces jointes

  • essai macro mef planning.xlsx
    17.8 KB · Affichages: 39

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Je pense que compte tenu du nombre important de lignes et de colonnes, une solution en VBA n'apportera pas plus de rapidité !
Cette rapidité dépend d'un ordi puissant dernier cri !
Ce que tu peux faire, c'est de désactiver l’enregistrement automatique pendant tes manipulations et de le remettre à la fin.
Et en fin de compte 1 à 2 minutes c'est peu compte tenu de la demande !
A moins que je ne me trompe !
Bonne journée !
 
Dernière édition:

mutzik

XLDnaute Barbatruc
bonjour loul03, JBARBE

le souci dans ce genre de chose, si on ne fait pas de mise en forme sur un range précis et qui ne grandira pas, excel rajoute toutes les mises en forme pour chaque cellulequand on rajoute des lignes, et ça en fait énormément au bout du compte

pas d'autres solutions que de passer par du VBA et recréer toutes les MEFC à chaque fois

NB : à mon avis, tu en as déjà beaucoup de trop rien que de base ...
 

JBARBE

XLDnaute Barbatruc
Bonjour à tous,
Peut-être ceci en VBA qu'il conviendra d'ajuster au futur tableau Range("E3:L9") et à la feuille ici Feuil2:
en cliquant sur le bouton GO
Code:
With Sheets("Feuil2")
.Range("E3:L9").Interior.ColorIndex = xlNone
.Range("E3:L9").Font.Bold = False
.Range("E3:L9").Font.ColorIndex = 1
For Each vCellule In .Range("E3:L9")

J'ai volontairement supprimer la MFC imposante afin de tester la macro

Pas sûr que cela soit plus rapide avec de nombreuses lignes et colonnes
bonne journée !
 

Pièces jointes

  • essai macro planning.xlsm
    27 KB · Affichages: 33
Dernière édition:

Statistiques des forums

Discussions
312 332
Messages
2 087 367
Membres
103 528
dernier inscrit
maro