Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copie d'une couleur de fond à chaque calcul(calculate)

J

JR

Guest
Bonjour,

Voila mon problème:

Je desire recopier la couleur de fond de cellules avec mise à jour automatique:

Je m'explique, j'ai une liste de noms en colonne A et une mise en forme conditionnelle avec "indicateur d'état" en colonne I

A I

DUPONT 1 (mise de la couleur jaune)
MARTIN 2 (mise de la couleur rouge)
....

Je souhaite passer le fond des cellules de la colonne B de la même "couleur conditionnelle" que la colonne I à l'aide d'une macro "Calculate"...
J'ai essayé la macro suivante, mais elle part en boucle recurrente infinie et de surcroit la function "Interior.ColorIndex" ne sait pas lire la couleur "conditionnelle".

Private Sub Worksheet_Calculate()
Dim L As Variant

With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False

For L = 5 To 40

Cells(L, 2).Interior.ColorIndex = Cells(L, 9).Interior.ColorIndex

Next L

With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End Sub

Merci pour votre cooperation
 
T

tatiak

Guest
Bonjour JR,

j'ai été confronté à un pb de ce genre, une solution dans ton fichier ne serait-ce pas de copier puis de coller le format des cellules pour reprendre la MFC, du style :

range ("i5:i40").select
selection.copy
range ("b5:b40").select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
 
J

JR

Guest
Pb essentiel vient du recalcul auto

J'ai essayé et effectivement pour la mise en forme çà marche mais la procedure est couteuse en temps de calcul...

Mais le problème principal vient du fait que lorsqu'on est en "Calcul automatique: .Calculation = xlAutomatic", le recalcul de la feuille est lancé et dans le même temps la procedure Calculate est rappelée avant même la fin de procedure ("End Sub").

Aussi, lorsque j'execute pas à pas la macro, en arrivant à la ligne
.Calculation = xlAutomatic
la macro repart au début et ce à l'infini... Aussi Excel est planté!
Une solution est de ne pas jamais lancer le classeur en Calcul automatique (toujours rester en manuel). Mais j'ai besoin de mise à jour automatique et donc cette solution ne me satisfait pas.

Ce qu'il me semble necessaire c'est d'annuler le recalcul au momoent au je repasse l'option en recalcul auto. Aussi la procedure pourrait arriver au fatidique End Sub! Mais je ne vois pas comment.

Merci pour cette réponse et si quelqu'un à la solution de cet epineux problème (tout du moins pour moi!) Merci de me la communiquer.
 
J

JR

Guest
Presque resolu/ Comment copier le couleur d'une cell en MFC

Merci Jean-Marie
Ca fonctionne parfaitement!


Pour mon dernier pb: Connaitriez-vous le moyen de recopier la couleur de fond d'une cellule en MFC type "Interior.ColorIndex "

Merci encore
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…