Supprimer une MCF en VBA

bonjour,

est il possible de supprimer par VBA une MCF?

j'ai recherché sur plusieurs forum mais je n'arrive pas à trouver.

je vous remercie d'avance pour tout

respectueusement

jérome

Bonjour

Essaie cette instruction dans laquelle Sélection désigne la plage dont tu veux supprimer la MCF:

Selection.FormatConditions.Delete

Bye !

bonjour,

merci pour cette réponse,

lorsque tu dis que "sélection désigne la plage" cela veux dire qu'il faut le déclarer en variable en début de code avec:

selection dim range

puis lui attribuer une plage

selection (A1:B5)

je débute en via alors milles excuses si cela est faux

encore merci pour ce temps

respectueusement

jb

Bonjour,

Si tu utilises la ligne de code telle que te l'a communiquée Gmb, la commande s'appliquera à ta sélection active.

Exemple : tu sélectionnes B2:B200, tu lances la macro, tous les formats conditionnels qui s'appliquaient à B2:B200 sont supprimés.

Tu peux définir la plage directement dans ta macro. Exemple :

ActiveSheet.Range("B2:B200").FormatConditions.Delete

Tu peux aussi déclarer une variable Range. Lui affecter une plage et appliquer la commande à cette plage.

Pour supprimer toutes les MFC de la feuille :

ActiveSheet.Cells.FormatConditions.Delete

Note que si plusieurs formats conditionnels s'appliquaient à ta plage, tu les supprime tous.

Cordialement.

bonjour,

merci pour cette réponse MFerrrand elle ma permis d'avancer

sans vouloir abuser de vos connaissances

savez vous comme écrire en via une MCF?

merci d'avance

respectueusement

jb

Quelle MFC veux-tu écrire ?

une des MCF serait de mettre les jours des week-end en gris:

=JOURSEM(G$10;2)>5

donc je souhaiterais réaliser cette MFC en vba car je supprime les toutes MFC, dans le code juste avant avec le code que tu m'as donné.

je les supprime car lorsque je copie plusieurs cellules d'une autre feuille les MFC bloquent les couleurs de fond

je souhaiterais faire cette MFC via VBA

j'espere que je mes explications ne sont pas trop longue

encore merci d'avance

jb

Si tu es sûr de ta formule par rapport à la plage d'application, il faut définir la MFC de cette plage, que j'appelle plage dans la ligne de code ci-dessous.

plage.FormatConditions.Add(xlExpression, , "=JOURSEM(G$10;2)>5").Interior.Color = RGB(192, 192, 192)

Ici une ligne suffit. (NB: à toi de choisir ton gris, j'en ai mis un moyen au hasard). Si ton format nécessite plusieurs éléments de définition, tu mets sous With et tu définis tes formats, exemple :

With plage.FormatConditions.Add(xlExpression, , "=JOURSEM(G$10;2)>5")
    .Interior.Color = RGB(192, 192, 192)
    With .Font
        .Bold = True
        .Color = RGB(255, 0, 0)
    End With
End With

Si en plus tu mettais le contenu en gras et rouge...

La première ligne : ...Add(xlExpression, , "formule") vaut pour toute MFC définit au moyen d'une formule. Cela change pour d'autres modalités de définition...

Cordialement.

merci pour ta réponse,

je mets ce code en pratique et je te dis ce qu'il en resort

mais encore merci

jb

j'ai repris le code que tu m'as donné en modifiant:

je souhaite une MFC pour toute cellule =ALERTES:

With Sheets("Planning").Range("$F$10:$NS$10").FormatConditions.Add(xlExpression, , "=ALERTES")

.Interior.Color = RGB(192, 0, 192)

With .Font

.Bold = True

.Color = RGB(0, 0, 0)

End With

mais rien

merci d'avance pour ton aide

Bonsoir,

excusez moi pour l'incruste...

Si ALERTES est une variable = OK sinon si le test est égale à ALERTES (le mot) alors il faut ajouter des guillemets je pense :

"="ALERTES""

Non ?

Sur l'application APAcHeS je "joue" pas mal avec les MFC ! Je gère même (!) les mise en forme avec dégradés !!!!

A voir le code, ça a l'air simple !

@ bientôt

LouReeD

C'est quoi ALERTES ?

Tel que mis, cela indique un nom de plage.

Tiens salut LouReed !

Cela peut être une chaîne en effet.

Là, à mon avis tu es encore avare en guillemets !

"=""ALERTES"""

Cordialement.

un grand merci à vous deux.

vous avez pu parfaitement me guider

merci bon week-end à vous

respectueusement

jerome

Bonsoir MFerrand,

il est vrai que j'ai lu quelque part que pour qu'un guillemet soit pris en tant que guillemet dans une chaine il fallait le doubler !

Décidément ma mémoire me fait défaut, mais elle revient vite suite à vos remarques !

En parlant de MFC avez vous vu mes codes sur APAcHeS ? Je ne sais pas si pour la gestions des dégradés et autre j'ai fait au plus simple...

jeromeB, ravis que ce post vous ait conduit à une solution

@ bientôt

LouReeD

Rechercher des sujets similaires à "supprimer mcf vba"