Comment changer couleur?

  • Initiateur de la discussion Initiateur de la discussion Morocco
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Morocco

Guest
Bonjour le Forum,

SVP, je cherche une macro qui me permet:

- de repérer les cellules de toutes les feuilles du classeur et dont la couleur de la police est bleu,

- puis la changer en couleur rouge.


Merci bcp
 
Bonsoir Morroco,

Pour obtenir le résultat escompté il suffit de programmer dans la macro que tu auras choisie les instructions suivantes :

======================================================
ColorIndex_Avant = 5 ' <<< A régler 5 correspond à un bleu
ColorIndex_Apres = 3 ' <<< A régler 3 correspond à un rouge

For each Sht in Sheets
For each Cel in Sht.UsedRange.Cells
If Cel.Font.ColorIndex=ColorIndex_Avant then
Cel.Font.ColorIndex=ColorIndex_Apres
Endif
Next Cel
Next Sht
======================================================

Attention! il faut que tu connaisses pécisemment les valeurs à utiliser pour ColorIndex_Avant et ColorIndex_Apres. Si tu ne les connais pas tu peux enregistrer une macro et modifier la couleur de la font utilisée pour une cellule d'abord en bleu puis en rouge. Tu verras en lisant la macro les valeurs de Font.ColorIndex utilisées à chaque fois.

Une autre façon de faire consiste à prendre deux cellules étalon l'une avec une fonte bleue et l'autre avec une fonte rouge, et à coder

======================================================
' Paramétrage cellule dont la fonte à le bleu choisi ex A1
set Etalon_Avant= Range("A1")

' Paramétrage cellule dont la fonte à le rouge choisi ex A2
set Etalon_Apres= Range("A2")

For each Sht in Sheets
For each Cel in Sht.UsedRange.Cells
If Cel.Font.ColorIndex=Etalon_Avant.Font.ColorIndex and _
Cel.Address <> Etalon_Avant.Address and _
Cel.Address <> Etalon_Apres.Address _
Then
Cel.Font.ColorIndex=Etalon_Apres.Font.ColorIndex
Endif
Next Cel
Next Sht
======================================================

Remarque : Le test de Cel.Address sert à éviter de modifier la couleur des cellules utilisées comme étalon.

Je pense que celà fonctionne mais n'ai pas testé. Si tu as d'éventuelles difficultés, n'hésite pas à en faire part.

Cordialement.

Omicron.
 
Salut Morocco, salut le forum,

Le problème est qu'il n'y a pas qu'un bleu et que je ne sais pas lequel tu as choisi. La macro ci-dessous fonctionnera si nous avons le même bleu sinon il te faudra l'adapter :

Sub Macro1()
'première boucle sur toutes les feuilles du classeur
For Each sh In Sheets
sh.Select 'sélectionne la feuille
'deuxième boucle sur les toutes les cellules utilisées de la feuille
For Each cel In sh.UsedRange
If cel.Font.ColorIndex = 5 Then 'condition : si couleur de police est bleu
cel.Font.ColorIndex = 3 'la couleur passe au rouge
End If 'fin de condition
Next cel 'prochaine cellule
Next sh 'prochaine feuille
End Sub

À plus,

Robert
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Excel graphique
Réponses
3
Affichages
300
Réponses
1
Affichages
104
Réponses
14
Affichages
337
  • Question Question
Microsoft 365 Graphique
Réponses
3
Affichages
133
Réponses
6
Affichages
175
Retour