Rapidité d'une MFC comparée à une macro d'affectation de couleurs

Bonjour à toutes et à tous,

Je travaille actuellement sur un projet qui demande de faire beaucoup de modifications de couleurs sur une plage de 300x300 cellules environ.

Je me demandais ce qui serait le plus rapide entre itérer les cellules pour effectuer une modification de couleur (du fond et du texte) et itérer les cellules pour modifier seulement la valeur et passer par une MFC pour changer la couleur automatiquement en fonction du contenu.

Je ne pense pas que la MFC soit plus rapide mais du fait qu'on ne modifierait que la valeur au lieu de la couleur du fond + du texte, peut-être que ça fait gagner du temps ?

Je vous remercie d'avance pour vos réponses !

Bonjour,

Selon moi la MFC, si définie efficacement, sera la plus rapide. Par contre elle va alourdir votre fichier puisque les MFC sont volatiles : à chaque recalcul (et même pour les MFC à chaque changement d'affichage (zoom/dézoom) les MFC sont réévaluées. Même si vos données ne changent pas.

A voir donc l'usage que vous avez :

si le classeur n'est utilisé qu'en consultation/lecture : la MFC convient

Sinon, explorer la piste VBA peut valoir le coup. Mais à bien optimiser également.

Bonjour Saboh,

Merci pour votre réponse. Qu'est-ce que vous appelez recalcul si les données ne changent pas ?

Il y aurait pas mal de modifications à l'utilisation, j'avais peur justement que les MFC ralentissent le tout.

Les formats conditionnels alourdissent les fichiers car ils sont réévaluées plus souvent que les données qu'ils colorent. Dans votre cas une bonne macro pourrait sans doute améliorer les performances. Mais il faut bien garder en tête que le coloriage de la macro ne se met pas à jour automatiquement.

Je comprends mieux, merci ! Effectivement je pense partir sur une macro ce sera sans doute plus simple et rapide.

En l’occurrence les changements sont effectués uniquement lors de clics de boutons donc pas de risque de changement de données non prévues.

Merci encore pour vos explication et bonne fin de journée :)

Bonjour,

de mon côté je suis en train de développer un nouveau casse brique afin d'essayer d'optimiser le code pour une facilité d'utilisation.
Mais proportions sont moindres 25x25, mais en tableau VBA je suis en 26 x 26 mais avec un index de 0, donc 27 x 27.

Le tableau de jeu est rempli de chiffres, ces chiffres font "fonctionner" des mises en formes afin de mettre en couleur les différentes briques.
si ce sont des MFC "simples" : =A1=8 avec un remplissage simple : fond rouge police jaune, cela se fait rapidement, si les MFC sont avec des fonds structurés cela "ralenti" un peu la chose.

Par contre avec ce système : tableau VBA représentant la plage de cellules et MFC sur cette plage de cellules, je trouve que je gagne du temps.
En effet tous les "aclculs" sont fait sous VBA, puis injection du tableau VBA sur la plage de cellule avec le type d'instruction :
Range("A1").resize(27,27)= TabBrickJ

Ici une version en cours de développement.
Avec les boutons de bascule horizontal vertical et rotation et même celui de tassement vers les bas, on voit que c'est rapide. Ok je ne suis qu'en 27x27, faut voir ce que cela peut donner en 300x300 !

@ bientôt

LouReeD

Rechercher des sujets similaires à "rapidite mfc comparee macro affectation couleurs"