Enlever Regles de Formation
Bonsoir a tous,
Je travaille avec une macro qui utilise des regles de formations couleur conditionnelles et je souhaiterais maintenir la formation finale mais supprimer les regles de formations pour le fichier car ces documents seront ensuite retraites par d'autres personnes pour qui cela peut poser des problemes (notamment lors d'insertion de nouvelles lignes etc.)
J'ai essaye de selection les donnees, copier coller en conservant la formation, puis supprimer les regles:
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.FormatConditions.Delete
Sauf que ca ne conserve pas la formatation (j'ai essayer aussi avec d'autres moyens de collage special mais sans succes)
Je joins un petit fichier simple en guise d'exemple:
En vert les numeros actif, en bleu les inactifs, il faut que les regles disparaissent mais pas la formation qu'elles ont generees.
Merci pour toute aide
Bonsoir,
Ce que tu veux faire n'est pas très clair, avec tes sélections et collage dans tous les sens !
Et pour préserver la vue des intervenants mettre toujours le code sous balises Code dans un post. C'est à la portée de tout le monde...
S'il s'agit de supprimer les MFC, pas besoin de tourner autour du pot !
Sub OterMFC()
ActiveSheet.Range("A1").CurrentRegion.FormatConditions.Delete
End Sub
Une ligne de commande suffit, et supprimera tout formatage conditionnel. Lequel disparaîtra !
Inutile de chercher à copier-coller ce formatage, tu peux coller la MFC et ce sera toujours une MFC, tu ne colleras pas les couleurs conditionnelles qui ne sont pas les couleurs des cellules sans la MFC...
Si tu veux garder les couleurs et supprimer la MFC, il faut d'abord affecter les couleurs aux cellules (en "dur" si on peut dire) et là elles resteront !
Sub OterMFC()
Dim c As Range
With ActiveSheet.Range("A1").CurrentRegion
For Each c In .Cells
c.Interior.Color = c.DisplayFormat.Interior.Color
Next c
.FormatConditions.Delete
End With
End Sub
Tu remaraqueras que toute sélection est inutile, il suffit de cibler précisément l'objet et l'emplacement de l'intervention, en appelant les choses par leur nom, ce qui est incontestablement plus sûr, la sélection est sujet à changement permanent.
Cordialement.
Bonjour,
Désolé de ne pas avoir utilise les balises, je ne poste pas frequemment mais je tacherai de m'en souvenir la prochaine fois
En tout cas, je te remercie pour l'explication sur les MFC qui est utile et le code marche très bien!
Maintenant c'est clair mon ferrand
Au top comme d'hab