Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

menus déroulants et format de cellules

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

kinel

XLDnaute Occasionnel
Bonjour à tous

dans le fichier joint j'ai un groupe de cellules comportant des menus déroulants, je voudrais affecter un format de cellule selon le texte sélectionné comme dans la liste de référence

Merci de votre aide
 
Re : menus déroulants et format de cellules

merci tototiti2008

ça correspond bien
j'essaye de comprendre la commande pour pouvoir l'adapter à d'autres feuilles
peux tu me faire ressortir les variables qui me permettront de transposer ça à d'autres colonnes ?

Merci

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule As Range
For Each Cellule In Target.Cells
If Cellule.Column = 3 Then
If Application.CountIf(Range("ListRef"), Cellule.Value) > 0 Then
Cellule.Font.Color = Range("ListRef").Range("A" & Application.Match(Cellule.Value, Range("ListRef"), 0)).Font.Color
Cellule.Interior.Color = Range("ListRef").Range("A" & Application.Match(Cellule.Value, Range("ListRef"), 0)).Interior.Color
Else
Cellule.Font.ColorIndex = xlAutomatic
Cellule.Interior.ColorIndex = xlNone
End If
End If
Next
End Sub
 
Re : menus déroulants et format de cellules

pour "If Cellule.Column = 3 Then" pas de problème

là ou ça coince c'est que dans la validation de données tu donnes "ListRef"

comment fais tu pour créer cette "ListRef" ?
 
Re : menus déroulants et format de cellules

Bonjour kinel,

désolé, tu travailles trop tôt pour moi

un essai en évitant la double boucle :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cellule As Range
    For Each Cellule In Target.Cells
        If Cellule.Column = 4 Then
            If Application.CountIf(Range("prout"), Cellule.Value) > 0 Then
                Cellule.Font.Color = Range("prout").Range("A" & Application.Match(Cellule.Value, Range("prout"), 0)).Font.Color
                Cellule.Interior.Color = Range("prout").Range("A" & Application.Match(Cellule.Value, Range("prout"), 0)).Interior.Color
            Else
                Cellule.Font.ColorIndex = xlAutomatic
                Cellule.Interior.ColorIndex = xlNone
            End If
        ElseIf Cellule.Column = 3 Then
            If Application.CountIf(Range("ListRef"), Cellule.Value) > 0 Then
                Cellule.Font.Color = Range("ListRef").Range("A" & Application.Match(Cellule.Value, Range("ListRef"), 0)).Font.Color
                Cellule.Interior.Color = Range("ListRef").Range("A" & Application.Match(Cellule.Value, Range("ListRef"), 0)).Interior.Color
            Else
                Cellule.Font.ColorIndex = xlAutomatic
                Cellule.Interior.ColorIndex = xlNone
            End If
        End If
    Next
End Sub
 
- 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
468
Réponses
7
Affichages
685
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…