Changer la couleurs des cellules des plusieurs onglets (feuilles) en même temps

  • Initiateur de la discussion Initiateur de la discussion joums
  • 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 !

joums

XLDnaute Occasionnel
Bonjour,

J'essaye de changer la couleur des cellules de plusieurs feuilles.


Le code utilise marche pour une feuille donnée mais je bloque lorsque je veux prendre tous les ongles du classeur.


Code:
Range("A1:L500").Select
For Each c In Selection
If c.Interior.ColorIndex = 1 Then c.Interior.ColorIndex = 2
If c.Interior.ColorIndex = 4 Then c.Interior.ColorIndex = 36
If c.Interior.ColorIndex = 10 Then c.Interior.ColorIndex = 37
If c.Interior.ColorIndex = 3 Then c.Interior.ColorIndex = 2
If c.Interior.ColorIndex = 13 Then c.Interior.ColorIndex = 2
Next c

Merci pour votre aide
 
Re : Changer la couleurs des cellules des plusieurs onglets (feuilles) en même temps

Bonjour Joums, bonjour le forum,

Essaie comme ça :
Code:
Dim sh As Object
Dim c As Range
For Each sh in Sheets
     For Each c in sh.Range("A1:L500")
          If c.Interior.ColorIndex = 1 Then c.Interior.ColorIndex = 2
          If c.Interior.ColorIndex = 4 Then c.Interior.ColorIndex = 36
          If c.Interior.ColorIndex = 10 Then c.Interior.ColorIndex = 37
          If c.Interior.ColorIndex = 3 Then c.Interior.ColorIndex = 2
          If c.Interior.ColorIndex = 13 Then c.Interior.ColorIndex = 2
     Next c
next  sh
 
Bonjour, je me permet de vous écrire. car j'aimerai lorsque je change la couleur d'une cellule en rouge sur l'onglet A, cela change cette même cellule sur tous les onglets B-C-D en même temps.
Je change deux fois par semaine différentes cellules....
je n'y connais rien en excel et je ne comprends pas votre codage ci dessus et ou le mettre ?
merci de votre reponse.
 
Bonjour estelle29, bienvenue sur XLD,

Voyez le fichier joint et ce code dans ThisWorkbook (Alt+F11) :
VB:
Private Sub Workbook_Open()
Application.OnTime 1, "ThisWorkbook.ArrierePlan" 'lance la macro
End Sub

Private Sub ArrierePlan()
'---les noms A B C D sont à adapter---
Dim w As Worksheet
Do
    If ActiveSheet.Name = "A" And ActiveCell.Interior.Color = vbRed Then
        For Each w In Sheets(Array("B", "C", "D"))
            w.Range(ActiveCell.Address).Interior.Color = vbRed
        Next
    End If
    DoEvents
Loop
End Sub
La macro ArrierePlan tourne en boucle en arrière-plan.

Nota 1 : seule la couleur (rouge) de la cellule active est copiée.

Nota 2 : vous ne dites pas ce qu'il faut faire si l'on efface la couleur rouge donc je ne fais rien.

A+
 

Pièces jointes

- 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

Discussions similaires

Réponses
7
Affichages
631
  • Question Question
Microsoft 365 Cpier/coller en VBA
Réponses
7
Affichages
698
Retour