Créer une liste déroulante avec des couleurs
Résolu/Fermé
sissi
-
27 févr. 2012 à 19:19
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 - 14 janv. 2013 à 16:12
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 - 14 janv. 2013 à 16:12
A voir également:
- Liste déroulante avec couleurs excel
- Liste déroulante excel - Guide
- Excel liste déroulante en cascade - Guide
- Supprimer liste déroulante excel ✓ - Forum Excel
- Supprimer liste déroulante Excel ✓ - Forum Excel
- Effacer le contenue d'une cellule avec liste déroulante - Forum Excel
8 réponses
Mike-31
Messages postés
18352
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 décembre 2024
5 110
Modifié le 25 janv. 2019 à 14:19
Modifié le 25 janv. 2019 à 14:19
Re,
Tu commences par définir la plage de tes couleurs, dans mon exemple elle se trouve dans l'onglet nommé Couleurs et commence à la cellule I8
j'ai créé un champ dynamique (Nom définir/Définir un nom)
nom du champ couleurs et la formule du champ est
pour t'aider à comprendre, si les cellules de couleurs étaient sur la feuille nommée Feuil2, le champ pourrait être nommé Teinte et se trouver dans la colonne B à partir de B2 dans ce cas la formule du champ serait
Si la mise en forme conditionnelle concerne la feuille nommée Feuil1 comme dans l'exemple, clic droit sur l'onglet de cette feuille/Visualiser le code tu verras ce code qui limite l'action pour cette feuille à la cellule B2 et ces parties de codes [Couleurs] font référence au champ nommé si ce champ avait été nommé Teinte, j'aurais [Teinte]
Tu commences par définir la plage de tes couleurs, dans mon exemple elle se trouve dans l'onglet nommé Couleurs et commence à la cellule I8
j'ai créé un champ dynamique (Nom définir/Définir un nom)
nom du champ couleurs et la formule du champ est
=DECALER(Couleurs!$I$8;;;NBVAL(Couleurs!$I:$I))
pour t'aider à comprendre, si les cellules de couleurs étaient sur la feuille nommée Feuil2, le champ pourrait être nommé Teinte et se trouver dans la colonne B à partir de B2 dans ce cas la formule du champ serait
=DECALER(Feuil2!$B$2;;;NBVAL(Feuil2!$B:$B))
Si la mise en forme conditionnelle concerne la feuille nommée Feuil1 comme dans l'exemple, clic droit sur l'onglet de cette feuille/Visualiser le code tu verras ce code qui limite l'action pour cette feuille à la cellule B2 et ces parties de codes [Couleurs] font référence au champ nommé si ce champ avait été nommé Teinte, j'aurais [Teinte]
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect([B2], Target) Is Nothing Then On Error Resume Next Target.Interior.ColorIndex = [Couleurs].Find(Target, LookAt:=xlWhole).Interior.ColorIndex Target.Font.ColorIndex = [Couleurs].Find(Target, LookAt:=xlWhole).Font.ColorIndex Target.Font.Bold = [Couleurs].Find(Target, LookAt:=xlWhole).Font.Bold 'Inclus le gras End If End Sub
Modifié le 25 janv. 2019 à 14:20
Merci Mike mais je n'y arrive pas je suis parti dans une feuille nommée sources avec 5 cellules différentes de cinq couleurs différente j'ai appliqué dans la cellule G5 de la feuille sources la formule décalée .
Ensuite j'ai mis le code dans ma feuille presses Private Sub Worksheet_Change(ByVal Target As Range)
Car j'aimerai que dans la cellule G7 de la feuille presse ma liste déroulante apparaisse.
Merci de me dire où est l'erreur , je suis désespérée !
Bonne soirée.
4 mars 2012 à 22:55
Tu as décidé de mettre tes couleurs feuille sources colonne G à partir de la cellule G5 PAS DE PROBLEME
Ensuite il faut nommer un champ Gestionnaire de noms/Définir un nom
pour changer ce coup ci je le nomme COUL et la formule du champ est
=DECALER(sources!$G$5;;;NBVAL(sources!$G:$G))
sur la feuille presses en G7 j'ai créé une liste de validation (Données/Validation des données
dans Autoriser, sélectionner Liste
et la formule est =COUL
dans le code [sources] ce n'est pas le nom de la feuille mais du champ [Coul].
dans les propriétés de la feuille presses clic droit sur l'onglet de cette feuille/Visualiser le code
le code est
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([G7], Target) Is Nothing Then
On Error Resume Next
Target.Interior.ColorIndex = [Coul].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
Target.Font.ColorIndex = [Coul].Find(Target, LookAt:=xlWhole).Font.ColorIndex
Target.Font.Bold = [Coul].Find(Target, LookAt:=xlWhole).Font.Bold 'Inclus le gras
End If
End Sub
dans le code, ces deux lignes concernent la mise en forme de la police (couleur et gras), si ta mise en forme conditionnelle concerne que la couleur de fond de cellule tu peux les supprimer
Target.Font.ColorIndex = [Coul].Find(Target, LookAt:=xlWhole).Font.ColorIndex
Target.Font.Bold = [Coul].Find(Target, LookAt:=xlWhole).Font.Bold 'Inclus le gras
https://www.cjoint.com/?BCew3h3OgAZ