Résolu Autres priorité MFC/macro

CISCO

XLDnaute Barbatruc
Bonsoir à tous

Pour les besoins d'un autre demandeur sur le forum, j'aimerai savoir quelque chose...

On a un fichier avec des "boutons" de différentes couleurs. On sélection une cellule. Lorsqu'on clique sur un des boutons, la cellule sélectionnée prend la couleur du bouton grâce à une macro associée.

Si on met des MFC sur une plage (cf. sur le fichier sur le post 11 du lien ci-dessus, la plage correspondant au mois de janvier sur la feuille Trim1), les boutons précédents ne sont plus efficaces sur cette plage : on obtient la couleur imposée par la MFC (si les conditions sont respectées bien sûr) et pas la couleur du bouton cliqué.

Ma question : Est-ce que vous pouvez modifier la macro pour que l'on obtienne finalement la couleur proposée par celle-ci, et pas celle imposée par la MFC ?

D'avance merci.
 
Ce fil a été résolu! Aller à la solution…
Dernière édition:

GALOUGALOU

XLDnaute Impliqué
bonjour cisco

dans la macro peut -etre comme ça *

Selection.FormatConditions.Delete

la mfc de la cellule sera supprimé. à reposer si besoin
cordialement
galougalou
 
Ce message a été identifié comme étant une solution!

CISCO

XLDnaute Barbatruc
Bonsoir à tous

Merci Galougalou. Ca fonctionne avec la ligne de code que tu as proposée. Nickel.

@ plus
 

CISCO

XLDnaute Barbatruc
Rebonsoir

Parmi les boutons, il y en a un qui permet d'effacer la couleur imposée précédemment par les autres macros dans la cellule sélectionnée, si désiré. Quelle ligne de code faudrait-il rajouter à cette macro pour réimposer la MFC sur la cellule sélectionnée ?

@ plus
 

GALOUGALOU

XLDnaute Impliqué
la mfc est unique donc capturer la mise en forme en code vba pour cela
se servir de l'enregistrement de macro
@+
galougalou
 

Dudu2

XLDnaute Impliqué
Bonjour,
Une autre option consisterait à ré-inclure la cellule dans le AppliesTo Range de la MFC avec un ActiveSheet.FormatConditions(i).ModifyAppliesToRange à condition d'une part que la MFC existe encore (appliquée à des cellules non candidates à son annulation) et d'autre part d'être capable de la retrouver (soit il y en a 1 seule, même découpée par les annulations et c'est toujours la 1ère à modifier, soit elle a une formule ou un propriété caractéristique qu'un scan des MFC peut reconnaître).
Le plus simple est encore de la recréer. purement et simplement sur la cellule.
 

CISCO

XLDnaute Barbatruc
Bonjour

Merci Galougalou etDudu2. Je vais essayer de comprendre vos propositions...
En réalité, dans les cellules concernées, il ni a pas 1 MFC, mais au moins 4...

@ plus
 

CISCO

XLDnaute Barbatruc
Rebonjour

@Dudu2 : Que représente le i dans la ligne de code ActiveSheet.FormatConditions(i).ModifyAppliesToRange ?

@ plus
 

Constantin

XLDnaute Junior
bonjour cisco

dans la macro peut -etre comme ça *

Selection.FormatConditions.Delete

la mfc de la cellule sera supprimé. à reposer si besoin
cordialement
galougalou
Bonjour GalouGalou,

Je suis le demandeur évoqué par CISCO. Merci infiniment de ta suggestion. Ça marche du tonnerre!

Vous êtes vraiment au top !

Pierre Constantin
 

Dudu2

XLDnaute Impliqué
"Que représente le i dans la ligne de code ActiveSheet.FormatConditions(i).ModifyAppliesToRange"
Par exemple:
For i = 1 To ActiveSheet.FormatConditions.Count
For i = 1 To ActiveCell.FormatConditions.Count


Ces 4+ MFC ont évidemment des caractéristiques spécifiques, c'est à dire des propriétés identifiables par leurs valeurs. Ce petit outil que j'ai dû faire pour développer l'Export / Import de MFC (qui y est d'ailleurs aussi intégré) permet d'identifier les MFC sur une Cellule et leurs propriétés.
>> Ouvrir l'outil, et sur le classeur / feuille / cellule candidate taper <Ctrl> + w.
 

Fichiers joints

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