doublonnage MFC

rafi93

XLDnaute Occasionnel
bonjour !

je travaille sur un gros tableau (je ne sais pas si c'est important pour mon pb) de 5000 lignes x 40 colonnes.

j'ai créé une dizaine de MFC appliquées soit à tout le tableau (p.ex distinction des cellules contenant une formule ou une donnée), soit à certaines colonnes

au fur et a mesure du travail (tri, suppression/insertion de lignes, etc), je me retrouve avec une démultiplication de ma liste de MFC quand je regarde dans le menu "MFC>gérer les règles" : il recrée des dizaines de règles identiques en saucissonnant mes plages, voir copie écran ci joint.Capture.JPG

ce qui ralentit énormément les temps de réponses

pourquoi fait il cela ?
comment l'en empêcher ou au moins "faire le ménage" en supprimant "automatiquement" ces espèces de doublons ?

sinon, je suis obligé de purger régulièrement tous ces doublons un à un.

merci !
 
Dernière édition:

eriiiic

XLDnaute Barbatruc
Bonjour,

tu n'as pas de maitrises là-dessus.
Le mieux est de les supprimer et de les re-créer par macro.
Appelée soit sur sur demande, soit sur un événement comme Worksheet_Activate par exemple.
L'enregistreur de macro te donnera l'essentiel.
eric
 

rafi93

XLDnaute Occasionnel
merci Eric
effectivement, c'est ce que j'ai pensé faire, s'il n'y avait pas de solution autre
en tous cas, effectivement j'avais une MFC sur l'ensemble de la feuille pour mettre en evidence (et proteger) les cellules avec formules,
en la supprimant, ça va mieux.

mais c'est fort dommage car je crains de "casser" mes traitements par mégarde en écrasant une formule.
je ne comprends pas qu'il n'y ait pas une fonctionnalité intégrée à Excel pour afficher/protéger automatiquement ces cellules !!

j'ai bien essayé avec F5>"cellules avec formules" puis verrouiller, mais alors impossible de travailler correctement (inserer/supprimer des lignes, ...)

pour les temps de réponse, je pense qu'il y a autre chose quand même lié à la mémoire de travail : ils augmentent au fur et à mesure; c'est pour cela que j'ai essayé de diminuer undohistory via le registre, sans succès : aurais tu une idée pourquoi,

merci encore
Raphaël
 

bambi

XLDnaute Occasionnel
Bonjour le forum, bonjour @rafi93

Sur les feuilles que je désire protéger, je contourne ce problème en mettant une macro qui "saute" les cellules avec formules,
Macro certainement obtenue ici mais dont je n'ai pas l'auteur, qu'il m'excuse de ne pas le citer ;)
VB:
Option Explicit

Private Sub Worksheet_selectionChange(ByVal c As Range) 'empeche l'accès aux cellules avec formule
For Each c In Selection
If c.HasFormula Then c(1, 1).Offset(, 1).Select
Next
End Sub
[edit] Auteur retrouvé >> sur cette file
Merci donc @DoubleZero pour ce petit code bien utile :)
 
Dernière édition:

rafi93

XLDnaute Occasionnel
merci Eric
je ne suis pas une flèche en VB : quand je colle ce code dans un nouveau Module et que je le lance sur ma feuille xls, il m'affiche une fenetre pour me demander "nom de la macro"
pourquoi ?
 

bambi

XLDnaute Occasionnel
@rafi93
De mon côté, je me contente de mettre cette macro dans chaque feuille que je veux protéger, pas dans le classeur entier
 
Dernière édition:

Discussions similaires


Haut Bas