Liste deroulante variable + couleur variable

Bonsoir,

Je travaille sur une ébauche d'emploi du temps sur le fichier joint.

En feuille 4, j'ai une liste de données en colonne A. Chaque cellule a une couleur propre.

Dans chaque onglet menuel, dans la plage de cellules ("B2:B17), une liste déroulante fait référence aux données de la feuille 4. Chaque sélection dans une cellule prend la couleur de la donnée en feuille 4.

J'aurais pu utiliser des MFC... mais, une personne qui ne maîtrise pas excel est susceptible d'ajouter ou de modifier les valeurs de la feuille 4, ainsi que la couleur.

Pourriez-vous m'aiguiller?

Merci pour votre aide.

16test.xlsx (15.55 Ko)

Bonjour,

Pourquoi ne pas masquer la feuille (SheetVeryHidden) ?

Cdlt.

Je n'ai pas été assez précis. J'aurais aimé qu'une MFC ou une macro prenne en compte les modifications apportées par l'utilisateur, sans qu'il ait besoin de faire quoi que ce soit.

Bonsoir,

Ci-joint le fichier où j'ai appliqué les MFC pour la colonne B. Justement, les MFC n'ont rien à voir avec ce qui est écrit en feuille 4.

Une fois ton planning créé, tu peux le protéger (en empêcher la modification) en protégeant la feuille (onglet révision). Il n'existe pas , à ma connaissance, un moyen d'empêcher uniquement la modification des MFC.

L'application des MFC n'est pas compliquée. Commence par la cellule B2 de la colonne B. Avec le texte AA : Accueil, mise en forme conditionnelle, règles de mises en surbrillance des cellules, Egal à puis à gauche AA et à droite Format personnalisé puis tu choisis le jaune fluo en fond. Sur la même cellule avec le texte AB, tu fais de même en choisissant le vert en fond. Et ainsi de suite. Lorsque tout est mis en forme pour cette cellule, tu la tires jusqu'en bas, et le tour est joué !

Dadams

9test.xlsx (17.28 Ko)

bonjour

une proposition

principe

c'est l 'EQUIV de la val dans la liste nommée qui decide de la couleur de la MFC

13curtisnw.xlsx (15.08 Ko)

cordialement

Pardon, je vais vous rendre chèvre

L'utilisateur va utiliser le fichier sur le long terme sans jamais acquérir des notions de base sur excel.

Il faut qu'il puisse modifier ou ajouter des données et couleurs de la feuille 4 à sa guise et qu'une macro fasse le reste. J'ai mis ou MFC au cas où il y aurait une formule particulière.

Je lorgne sur un mix de validation de données avec une formule décalée et une macro faisant référence à la colonne des données et couleurs.

bonjour

dans ma proposition

regarde dans gestionnaire de nom ; tu y verras "liste" et une formule Decaler(.....) c'est pour faire une liste autoextensible

ensuite pour la couleur

1) tu cliques sur des cel du tablo a colorier

2) tu vas sur MFC>>gerer les regles>>>t'en choisis une >>modifier

tu vas voir une formule simple

=ET(EQUIV(la lettre et le chiff de la cel;liste;0)=1 )

qui donne la position du choix (1;2;3;4) dans la liste en feuille 4 ,ce n° fait ref a une couleur que tu choisis

comme tu as 4 couleurs , il faut repéter 4 fois le process en changeant ce qui suit le = et la couleur

attention ne pas mettre de $$ a Equiv pour duplicaton sur tout le tablo

Merci Tulipe, j'ai également trouvé une réponse en VBA. Cela donne le même résultat mais j'utiliserai ta proposition.

Pour ceux que cela intéresse, en vba :

[code]
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cadre As String
    If Not Application.Intersect(Target, Range("B2:J17")) Is Nothing Then
        If Target.Count > 1 Then
            With Target.Interior
                .Pattern = xlNone
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End With
            Exit Sub
        End If
        Cadre = Target
        With Target.Interior
            Select Case Cadre
            Case Is = Range("L2").Value
                .Color = Range("L2").Interior.Color
            Case Is = Range("L3").Value
                .Color = Range("L3").Interior.Color
            Case Is = Range("L4").Value
                .Color = Range("L4").Interior.Color
            Case Is = Range("L5").Value
                .Color = Range("L5").Interior.Color
            Case Else
                .Pattern = xlNone
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End Select
        End With
    End If
End Sub

[/code]

Merci pour votre aide

Bonjour,

Une proposition tardive.

Cdlt.

13curtisnewton.xlsm (30.34 Ko)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim ws As Worksheet, rng As Range, n As Long

    If Target.CountLarge > 1 Then Exit Sub

    If Not Target.ListObject Is Nothing Then

        Set ws = ThisWorkbook.Worksheets("Paramètres")
        Set rng = ws.ListObjects(1).Range

        Select Case Target
            Case Is = vbNullString
                Target.Interior.Color = -4142
            Case Else
                n = Application.Match(Target, rng, 0)
                Target.Interior.Color = ws.Cells(n, 1).Interior.Color
        End Select
    End If

    Set rng = Nothing: Set ws = Nothing

End Sub

Excellente proposition. J'adore.

Re,

Attention!...

Toutes les données ont été mises sous forme de tableaux (voir gestionnaires de noms) dynamiques.

Cdlt.

Effectivement, j'ai disséqué le fichier comme pour la proposition de Tulipe, pour éviter un loupé.

Rechercher des sujets similaires à "liste deroulante variable couleur"