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

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
 

Robert

XLDnaute Barbatruc
Repose en paix
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
 

estelle29

XLDnaute Nouveau
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.
 

job75

XLDnaute Barbatruc
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

  • Copier couleur(1).xlsm
    19.5 KB · Affichages: 8

Discussions similaires

Statistiques des forums

Discussions
312 160
Messages
2 085 838
Membres
103 000
dernier inscrit
Nath13