Colorier les cellules non vide en fonction de noms dans une colonne

Franck35P

XLDnaute Nouveau
Bonjour,
Chaque prénom est associé à une couleur et j'aimerai que les cellules non vides soient automatiquement coloriées selon le prénom qui se trouve au bout de la ligne.
J'ai écrit quelques lignes en vba qui m'obligent à mettre un chiffre en fonction du nom.
Merci d'avance
 

Pièces jointes

  • Planning.xls
    74.5 KB · Affichages: 77
  • Planning.xls
    74.5 KB · Affichages: 80
  • Planning.xls
    74.5 KB · Affichages: 86

CISCO

XLDnaute Barbatruc
Re : Colorier les cellules non vide en fonction de noms dans une colonne

Bonsoir

Et pourquoi pas avec une mise en forme conditionnelle ? Et pourquoi commences tu à colorier les cellules à tel endroit et pas à tel autre ?

@ plus
 

ROGER2327

XLDnaute Barbatruc
Re : Colorier les cellules non vide en fonction de noms dans une colonne

Bonsoir à tous


Une proposition de reprise des couleurs dans les plages des noms BD4:BL4, BD16:BL16, etc.
On choisit les couleurs qu'on veut dans ces plages. Ensuite, en remplissant les zones B5:B13, B17:B25, etc. et remplissant les tableaux C5:BB13, C17:BB25, etc. (on y met ce qu'on veut : un chiffre, une lettre, voire une espace...), les cellules non vides seront coloriées.

Dans le module de feuille :
VB:
Private Sub Worksheet_Change(ByVal Cible As Range)
    toto Cible
End Sub

Dans un module standard :
VB:
Sub toto(Plg)
Dim i&, j&, Nom$, oCel As Range, oPlg As Range, refCol As Range, Table As Range
    Set Table = Range("B5:BB13") 'premier tableau
    For i = 0 To 4 'nb. de tableaux - 1
        Set oPlg = Intersect(Plg, Table.Offset(12 * i))
        If Not oPlg Is Nothing Then
            Set refCol = Table.Offset(12 * i - 1, 54).Resize(1, 9)
            Application.ScreenUpdating = False
            For Each oCel In oPlg.Cells
                oCel.Interior.ColorIndex = xlColorIndexNone: oCel.Font.ColorIndex = xlColorIndexNone
                If Not IsEmpty(oCel) Then
                    Nom = CStr(Cells(oCel.Row, 2).Value)
                    For j = 1 To 9
                        If Nom = refCol.Cells(1, j).Value Then Exit For
                    Next j
                    If j < 10 Then oCel.Interior.Color = refCol.Cells(1, j).Interior.Color: oCel.Font.Color = refCol.Cells(1, j).Font.Color
                End If
            Next oCel
            Application.ScreenUpdating = True
        End If
    Next i
End Sub


ROGER2327
#5602


Mercredi 11 Pédale 139 (Testament de Saint P. Ucello, le mal illuminé - fête Suprême Quarte)
15 Ventôse An CCXX, 9,4931h - chèvre
2012-W10-1T22:47:00Z
 

Franck35P

XLDnaute Nouveau
Re : Colorier les cellules non vide en fonction de noms dans une colonne

Bonsoir

Et pourquoi pas avec une mise en forme conditionnelle ? Et pourquoi commences tu à colorier les cellules à tel endroit et pas à tel autre ?

@ plus

Bonjour Cisco
La mise en forme conditionnel ne fonctionne qu'avec 3 conditions et j'en ai 9 voir plus plus tard.
C'est pour faire un planning: Ca indique aux personnes les plages horaires ou ils travaillent
@+
 

ROGER2327

XLDnaute Barbatruc
Re : Colorier les cellules non vide en fonction de noms dans une colonne

Re...

Bonjour Roger2327
J'ai essayé de mettre ta solution mais ça ne fonctionne pas (je suis débutant en VBA).
Je vais continuer à chercher.
Merci pour ton aide
Et pourtant...​


ROGER2327
#5605


Jeudi 12 Pédale 139 (Saint Hari Sainteldon, psychohistorien galactique - fête Suprême Quarte)
16 Ventôse An CCXX, 4,5796h - épinard
2012-W10-2T10:59:28Z
 

Pièces jointes

  • Planning_coloré_179979.xls
    72 KB · Affichages: 85

Franck35P

XLDnaute Nouveau
Re : Colorier les cellules non vide en fonction de noms dans une colonne

Re
Merci, c'est ce que je voulais.
Ca fonctionnait mais je n'avais pas mis les cellules des prénoms en couleur.
Il me reste plus qu'a comprendre ce que tu as fait.
Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
312 505
Messages
2 089 094
Membres
104 029
dernier inscrit
Neozz14