Mettre à jour les Couleurs de Cellules d'apres cellules couleur

Résolu
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -  
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Besoin de votre aide:

feuille 1: création d'un planning. Cellule B2="S-1", C2 = "S-2", D2= "S-3" (S=semaine) etc
feuille 2: création des indicateurs. Colonne Semaine avec S-1, S-2, S-3 etc

Je souhaiterais que les couleurs (mise en forme) de mes cellules de la feuille 1 suivent pour les cellules de la feuille 2. (MFC ne fonctionne pas..j'ai simplement mis =B2 mais rien)

Je ne peux vous transmettre de fichier joint car parefeu entreprise bloque..dsl

Merci d'avance pour votre raisonnement et méthode afin de réussir cette manipulation.

Cordialement
Julien
A voir également:

11 réponses

Benoit A. Messages postés 455 Date d'inscription   Statut Membre Dernière intervention   515
 
Copie tout ton tableau et rends toi son ton 2e tableau et tu fais clique droit collage spécial / Mise en forme
0
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
Je voudrais que ca se fasse automatiquement...car je vais changer pas mal de fois les couleurs...

Merci
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

Regarde ce petit montage, Feuil2 colonne A tu saisis le mot qui conditionnera la mise en forme et tu colorises la cellule que tu souhaite associer à la valeur saisie exemple en A2 j'ai saisi S_1 et la couleur associée est le vert

feuil1 dans la plage A2:F20 si tu saisis S_1 la cellule se colorise en vert

attention si tu change la couleur critère en Feuil2 il faudra conditionner par un double clic chaque cellule de la plage Feuil1

https://www.cjoint.com/?DDjnLJ4bdjf
0
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
Ta macro me convient pas car comme tu l'as dit dans ton message il est obligé de double cliqué à chaque changement de couleurs. Mais c'est dans l'idée que je cherche. il y a ce détails à supprimer
0
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
J'essaie avec ta macro et je te redis demain merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
Ta macro me convient pas car comme tu l'as dit dans ton message il est obligé de double cliqué à chaque changement de couleurs.. quelqu'il a mieux merci d'avance.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Rez,

Remplace mon ancienne macro par celle ci

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:F20], Target) Is Nothing Then
On Error Resume Next
Dim Col As Range, C As Range
For Each Col In Range("A1:F20").Columns
For Each C In Col.Cells
C.Interior.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Interior.ColorIndex
C.Font.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Font.ColorIndex
C.Font.Bold = [Couleurs].Find(C, LookAt:=xlWhole).Font.Bold 'Inclus le gras
Next
Next
End If
End Sub
0
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
Bonjour,

Comment je fais si ma base de données (cellule avec les couleurs) corresponds aux cellulles B2:BC2.

Dans la meme feuille, les cellulles B19:BC19 doivent changer de couleur et dans une autre feuille ce sont les cellules A3:A56 ?

Merci
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

Si j'ai bien compris, pour la feuille dont les cellulesB19 à BC19 doivent changer de couleur
colle ce code dans les propriétés de la feuille clic droit sur l'onglet de la feuille concernée/Visualiser le code)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([B19:BC19], Target) Is Nothing Then
On Error Resume Next
Dim Col As Range, C As Range
For Each Col In Range("B19:BC19").Columns
For Each C In Col.Cells
C.Interior.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Interior.ColorIndex
C.Font.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Font.ColorIndex
C.Font.Bold = [Couleurs].Find(C, LookAt:=xlWhole).Font.Bold 'Inclus le gras
Next
Next
End If
End Sub

faire la même démarche pour la deuxième feuille et coller ce code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A3:A56], Target) Is Nothing Then
On Error Resume Next
Dim Col As Range, C As Range
For Each Col In Range("A3:A56").Columns
For Each C In Col.Cells
C.Interior.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Interior.ColorIndex
C.Font.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Font.ColorIndex
C.Font.Bold = [Couleurs].Find(C, LookAt:=xlWhole).Font.Bold 'Inclus le gras
Next
Next
End If
End Sub

par contre il faudra revoir le champ Couleurs dans le gestionnaire de Noms

0
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
Cela fonctionne. Merci beaucoup je vais étudier ta macro pour apprendre petit à petit. Cependant, il faut toujours au moins cliquer dans la colonne pour que la macro se lance.

En tout cas merdi de ton aide et temps.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

il est possible que la macro se lance dès qu'il y a un mouvement sur la feuille dans ce cas il faut supprimer dans chaque code la première ligne

If Not Intersect([B19:BC19], Target) Is Nothing Then
et le dernier
End If

et pour le deuxième code
If Not Intersect([A3:A56], Target) Is Nothing Then
et le dernier
End If

ce qui donne pour le premier code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Dim Col As Range, C As Range
For Each Col In Range("B19:BC19").Columns
For Each C In Col.Cells
C.Interior.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Interior.ColorIndex
C.Font.ColorIndex = [Couleurs].Find(C, LookAt:=xlWhole).Font.ColorIndex
C.Font.Bold = [Couleurs].Find(C, LookAt:=xlWhole).Font.Bold 'Inclus le gras
Next
Next
End Sub

A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
jambontomate Messages postés 44 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup. Bonne journée.
0