Copier valeur et format sans mise en forme cond

Bonjour,

J'ai un fichier excel 2007.

Dans chaque feuille, la couleur des cellules varie en fonction du texte ecrit.

Je n'arrive pas à copier la valeur et la couleur des cellules actuelles dans une autre feuille sans copier en meme temps la mise en forme conditionnel.

Mon but est d'avoir la meme feuille sans la mise en forme conditionnel.

j'ai inscrit cette macro :

Sub Copiecoller()

'

' Copiecoller Macro

'

Sheets("Decembre15").Range("B4:AF11").Copy 'copie la plage

With Sheets("Feuil25").Range("B4")

.PasteSpecial Paste:=xlPasteValues

.PasteSpecial Paste:=xlPasteFormats

'Cells.FormatConditions.Delete

End With

End Sub

Mais 'Cells.FormatConditions.Delete m'efface la MFC et mes couleurs disparaissent.

Une idée ?

Bonjour,

Ci-joint une proposition à tester.

A ma connaissance, la cellule ne connaît pas la couleur qui lui a été attribuée par la mise en forme conditionnelle.

Ces 2 éléments sont indépendants :

  • si une cellule est rouge (BackColor) et cette cellule n'a pas de MFC, elle apparaît rouge
  • si une cellule est rouge (BackColor), cette cellule a une MFC, et une condition est valide (au format jaune), elle apparaît jaune
  • si une cellule est rouge (BackColor), cette cellule a une MFC, et aucune condition n'est valide, elle apparaît rouge

Le principe mis en place :

  • après collage des données : parcours de toutes les cellules
  • pour chaque cellule, parcours de toutes les conditions de la MFC
  • évaluation de chaque condition
  • si la condition est vrai, reprise du format de la MFC, attribution de la couleur (BackColor)

Le code est commenté.

Je ne sais pas s'il y a une autre solution !

Dans l'exemple, j'ai repris la plage "B4:AF11", avec 3 conditions de valeurs : "a", "b", "c".

Le résultat est dans l'onglet Resultat

Bonne journée

Bouben

69copiesansmfc.xlsm (25.65 Ko)

Bonsoir bouben,

je regarde ton fichier.

Une question,

si j'aurais utilisé du vba au lieu d'une MFC, cela aurait été plus facile pour recopier l'état des cellules ?

bàt

Bonjour

mat46007 a écrit :

Mon but est d'avoir la meme feuille sans la mise en forme conditionnel.

Supprimes la Mise En Forme Conditionnelle

A tester

Sub Copiecoller()
'
' Copiecoller Macro
'

  Sheets("Decembre15").Range("B4:AF11").Copy  'copie la plage
  With Sheets("Feuil25").Range("B4:AF11")   '.Range("B4")
    .PasteSpecial Paste:=xlPasteValues
    .PasteSpecial Paste:=xlPasteFormats
    .FormatConditions.Delete
  End With
End Sub

Bonsoir Banzai,

la solution que tu me donnes est celle postée plus haut, et que j'avais testé.

Mais dès que je supprime la MFC, toutes mes couleurs disparaissent.

Bàt

Bonsoir

Peut-être ai je mal interprété ce que tu demandes

mat46007 a écrit :

Je n'arrive pas à copier la valeur et la couleur des cellules actuelles dans une autre feuille sans copier en meme temps la mise en forme conditionnel.

mat46007 a écrit :

la solution que tu me donnes est celle postée plus haut

Diantre que nenni, regarde bien

Un fichier pour mettre en avant ce que je propose

Bonsoir bàt, bonsoir Banzai64,

Ma solution, ça ne convient pas ? J'en étais plutôt content

Et pour répondre à la question suivante :

mat46007 a écrit :

Une question,

si j'aurais utilisé du vba au lieu d'une MFC, cela aurait été plus facile pour recopier l'état des cellules ?

bàt

Si les couleurs sont mises à jour via du VBA au lieu d'une macro, effectivement il n'y aura plus de problème pour la copie

Bonne soirée

Bouben

Bonjour Banzai64,

Quand je prend ton fichier, dans la feuille décembre, il y a un tableau avec des couleurs de cellules en fonction de la valeur.

Dans la feuil25, il y a un bouton COPIE, si j'appuie sur celui-ci, un tableau apparait sur la feuil25 qui n'est pas la copie des valeurs du tableau de la feuille décembre, mais toutes les cellules sont quand meme blanches sauf certaines qui apparaissent bleu !

Ce résultat est normal pour toi ?

Bonjour

Oui bien sur que c'est normal

si tu y regardes d'un peu plus près tu remarquera que dans la feuille "Decembre15" ce sont des formules (=ALEA.ENTRE.BORNES(1;5) ) qui sont dans le tableau

Et c'est normal que lors de la copie les valeurs changent

Fais l'essai en figeant les valeurs

Et pas toutes ces pertes de temps si tu avais fournis un fichier

Bonjour,

voici une copie de mon fichier

PS: je ne savais pas trop comment ajouter un fichier sur le forum

Rechercher des sujets similaires à "copier valeur format mise forme cond"